From nobody Mon Aug 2 15:32:15 2021 Return-Path: <0100017b08feb7ef-71cbbcaa-256f-4947-ab27-9fdd40f2993a-000000@amazonses.watsen.net> X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EBE043A1F6F for ; Mon, 2 Aug 2021 15:32:04 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.895 X-Spam-Level: X-Spam-Status: No, score=-1.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=unavailable autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IWwVQ3nrxGyu for ; Mon, 2 Aug 2021 15:31:58 -0700 (PDT) Received: from a8-83.smtp-out.amazonses.com (a8-83.smtp-out.amazonses.com [54.240.8.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 52BD83A1F5E for ; Mon, 2 Aug 2021 15:31:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1627943517; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=LdVxDxkwRxR2bKBwrN2bAqilXoBH4S1hZmShzhhsIpo=; b=C6ibJ4SEN3MaMl5SppOfMFzAhmDpNtgfjQiihWhb4YBpzRyomLfBw+Kca1REQIet cCEul9Lun5CK0ABfuPaAAYB/Dcw1D6s0yNlROs/SkeOOs4U527jypmQWaATJES4aQxO QZ8TDoD16NS4r0acejxkvd+i+fnkh5LCBtZ7r2OU= From: Kent Watsen Message-ID: <0100017b08feb7ef-71cbbcaa-256f-4947-ab27-9fdd40f2993a-000000@email.amazonses.com> Content-Type: multipart/alternative; boundary="Apple-Mail=_AE36BCB5-7AFD-4C56-8D60-C6ED2D7C41E1" Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\)) Date: Mon, 2 Aug 2021 22:31:56 +0000 In-Reply-To: Cc: =?utf-8?Q?Bal=C3=A1zs_Lengyel?= , "maqiufang (A)" , "netmod@ietf.org" To: Andy Bierman References: <5b76dae2175545959f0006b036efd647@huawei.com> <2d1262bc90fc49d08eb641365b959ea4@huawei.com> <0100017aab854793-eb989e55-8496-451b-84de-7f17cb0720d5-000000@email.amazonses.com> <0100017aee17493f-6b9b747c-f0f1-4a70-b929-aaa0350a555f-000000@email.amazonses.com> X-Mailer: Apple Mail (2.3654.100.0.2.22) Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES X-SES-Outgoing: 2021.08.02-54.240.8.83 Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Aug 2021 22:32:14 -0000 --Apple-Mail=_AE36BCB5-7AFD-4C56-8D60-C6ED2D7C41E1 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi Balazs, Andy, Quifang, > I agree a new datastore will just add complexity without any value. > Your solution approach is better, but I think it would require a new = YANG version > to allow config node XPath to reference non-config nodes. In no case is there a need for a config Xpath to ref non-config. > Another solution is to model the referenced node as config=3Dtrue, but = setup > automatic NACM rules so no user editing is allowed. This works well = for > setting up an initial config that gets saved and not changed unless a = reset is done. I don=E2=80=99t like the NACM dependency. > What if is what is NV-stored? When that occurs, the config = changes from system to user config. > Routers have been saving the combined config for decades. IMO the = standards > intentionally avoid discussing the conversion of a datastore to/from = NV-storage. I=E2=80=99m unsure about this point, but a don=E2=80=99t see any = dependency on an NV-store needing to use a particular encoding or = format. > As I see it this is the same problem that we discussed in = https://github.com/netmod-wg/yang-next/issues/41 = . >=20 > I know this is a radical change, but I think using a new YANG = extension to create a read-only config=3Dtrue datatype is a much cleaner = solution. One which some companies have already implemented. >=20 > +1 >=20 > Actually, separate running and system would be a radical change, not = this. > Cleaner and less disruptive.=20 I disagree with the need to resolve issue #41 here, and I disagree a = datastore would be a radical change, or even complicated. That said, something like RFC 6243 (with-defaults) but called = =E2=80=9Cwith-system=E2=80=9D could work. That is, the =E2=80=9Csystem" = config is like config that is hidden until asked to be = revealed. It would be interesting to discuss if =E2=80=9Cwith-defaults" = returns all of the system config, or just the parts that are used, = assuming we define =E2=80=9Cused=E2=80=9D appropriately. Presumably = system-defined ordered-list entries cannot be ordered by user, or used = as before/after pivots. We could even do both: have a read-only datastore *and* a = "with-system" interaction API. Each complimenting the other. FWIW, a "with-system =E2=80=9D still may not pass validation = if, e.g., templates need to be expanded. Of course, any = controller/orchestrator can expand the templates themselves to resolve = that concern. Such a system could also fetch without skipping = a beat. Thought exercise: a controller is managing 1000 endpoints all running = the same software version. Is it better for the controller to get = "with-system =E2=80=9D 1000 times, or get once and = have knowledge for how its merged in? K. --Apple-Mail=_AE36BCB5-7AFD-4C56-8D60-C6ED2D7C41E1 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

Hi Balazs, Andy, Quifang,

I agree a new datastore will just = add complexity without any value.
Your solution = approach is better, but I think it would require a new YANG = version
to allow config node XPath to reference = non-config nodes.

In no case is there a need for a config Xpath to = ref non-config.


Another= solution is to model the referenced node as config=3Dtrue, but = setup
automatic NACM rules so no user editing is = allowed. This works well for
setting up an initial = config that gets saved and not changed unless a reset is = done.

I= don=E2=80=99t like the NACM dependency.


What if <intended> is what is NV-stored?  When = that occurs, the config changes from system to user config.
Routers have been saving the combined config for decades. IMO = the standards
intentionally avoid discussing the = conversion of a datastore to/from = NV-storage.

I=E2=80=99m unsure about this point, but a don=E2=80= =99t see any dependency on an NV-store needing to use a particular = encoding or format.

As I = see it this is the same problem that we discussed in https://github.com/netmod-wg/yang-next/issues/41.

I = know this is a radical change, but I think using a new YANG extension to = create a read-only config=3Dtrue datatype is a much cleaner solution. = One which some companies have already = implemented.

+1

Actually, separate running and system would be = a radical change, not this.
Cleaner and less = disruptive. 

I disagree with the need to resolve issue #41 = here, and I disagree a <system> datastore would be a radical = change, or even complicated.

That = said, something like RFC 6243 (with-defaults) but called = =E2=80=9Cwith-system=E2=80=9D could work.  That is, the =E2=80=9Csyst= em" config is like <running> config that is hidden until asked to = be revealed. It would be interesting to discuss if =E2=80=9Cwith-defaults"= returns all of the system config, or just the parts that are used, assuming we = define =E2=80=9Cused=E2=80=9D appropriately.   Presumably = system-defined ordered-list entries cannot be ordered by user, or used = as before/after pivots.

We could even do both: have a read-only = <system> datastore *and* a "with-system" interaction API.  Each = complimenting the other.

FWIW, a = "with-system <running>=E2=80=9D still may not = pass validation if, e.g., templates need to be expanded.  Of = course, any controller/orchestrator can expand the templates themselves = to resolve that concern.  Such a system could also fetch = <system> without skipping a beat.

Thought exercise: a controller is managing 1000 = endpoints all running the same software version.  Is it better for = the controller to get "with-system <running>=E2=80= =9D 1000 times, or get <system> once and have knowledge for how = its merged in?

K.




= --Apple-Mail=_AE36BCB5-7AFD-4C56-8D60-C6ED2D7C41E1-- From nobody Mon Aug 2 15:50:45 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F0E2B3A1FF7 for ; Mon, 2 Aug 2021 15:50:42 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.887 X-Spam-Level: X-Spam-Status: No, score=-1.887 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CmBuQuhzpwgy for ; Mon, 2 Aug 2021 15:50:38 -0700 (PDT) Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com [IPv6:2a00:1450:4864:20::129]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D572C3A2014 for ; Mon, 2 Aug 2021 15:50:07 -0700 (PDT) Received: by mail-lf1-x129.google.com with SMTP id t9so23557769lfc.6 for ; Mon, 02 Aug 2021 15:50:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=/mjkwX9vd3/OXpD9u6y411kmvi8901N7R94Y7C8li0k=; b=Nei3vqjpRxC/agqUBFjduZ1R2lH6swkMiuVHnal8ke0JmNV91grWhn/eCRh/k6DM6C 91vn/CBQFvV75AHFlwZ55Xhucitd5OpNY3oGdTqmpjFDcrLL2+UAp6SjRlTlmCiXwNRB wFzvio1koRmYgyerVXm/LX536EYc3lVpAHJ5hR9hSMommsU4PVQk8zLMrH0kVBrGyP39 avdNAgP/qaN8Oo/4SWvvYzRySVP3cZp2zcgzh4ZTtgcFj34KDT2Oa6zS7Vd2KQW9CxQ1 Q3aVwKNyqQLS8C8mF1mAKb2lOxOMOSRrW7lfAZdb3X+vLNPV0d7OMLJqgIFLYdJjVwNe CRpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=/mjkwX9vd3/OXpD9u6y411kmvi8901N7R94Y7C8li0k=; b=XVin3DJWuRnKpsIb6f7yTslDHAFYe+LmEOJAZF55XE4gLS7IYmB6f8Ss8oasLNxxdW kd+Me4YqHVEoB+0tccXYSJRV05rLtAkVmM3wWt2SQM9/eaNMX6uhPnYVB1QarqWgY3pR ICGGDf15pPdT04gzOrj9Ujx/ohhXdL+RiKIY3HGIJImJhfwUMszVNWgEKhMSPoQqZqkl qsuN6RLtMj9woQBAsurPNbNRO+sKOIbfSom+5zaAoUwoGorQM3BxL+Q8x7+YqvVKEnnb SjNZm2zBU4Nym3UtoM7cHP+sm8XGnfZnrNeFve5N74GScbp2UgXUopVxokRTl5TlhCr7 et8A== X-Gm-Message-State: AOAM531ttrGaEEFuRUrijsinIFgKtgwTb7bs6whOEt5AYHOjppXpvBAm X9nEw5ZT12r27PaSzxx90CUupD35PBlp3o+IPXyM3w9gf7I= X-Google-Smtp-Source: ABdhPJxsNIkVUeTg6yA6nimX2YJ9nwSNRU7/12YwPP/MWLM4XJFjhCl8vknb8AmWzTfXTZGL0okfoM78GDP6Z5XQiVs= X-Received: by 2002:ac2:51d9:: with SMTP id u25mr2387469lfm.377.1627944604966; Mon, 02 Aug 2021 15:50:04 -0700 (PDT) MIME-Version: 1.0 References: <5b76dae2175545959f0006b036efd647@huawei.com> <2d1262bc90fc49d08eb641365b959ea4@huawei.com> <0100017aab854793-eb989e55-8496-451b-84de-7f17cb0720d5-000000@email.amazonses.com> <0100017aee17493f-6b9b747c-f0f1-4a70-b929-aaa0350a555f-000000@email.amazonses.com> <0100017b08feb7ef-71cbbcaa-256f-4947-ab27-9fdd40f2993a-000000@email.amazonses.com> In-Reply-To: <0100017b08feb7ef-71cbbcaa-256f-4947-ab27-9fdd40f2993a-000000@email.amazonses.com> From: Andy Bierman Date: Mon, 2 Aug 2021 15:49:54 -0700 Message-ID: To: Kent Watsen Cc: =?UTF-8?Q?Bal=C3=A1zs_Lengyel?= , "maqiufang (A)" , "netmod@ietf.org" Content-Type: multipart/alternative; boundary="000000000000e4bb4105c89b635e" Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Aug 2021 22:50:43 -0000 --000000000000e4bb4105c89b635e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Aug 2, 2021 at 3:31 PM Kent Watsen wrote: > > Hi Balazs, Andy, Quifang, > > I agree a new datastore will just add complexity without any value. > Your solution approach is better, but I think it would require a new YANG > version > to allow config node XPath to reference non-config nodes. > > > In no case is there a need for a config Xpath to ref non-config. > > > Another solution is to model the referenced node as config=3Dtrue, but se= tup > automatic NACM rules so no user editing is allowed. This works well for > setting up an initial config that gets saved and not changed unless a > reset is done. > > > I don=E2=80=99t like the NACM dependency. > > > What if is what is NV-stored? When that occurs, the config > changes from system to user config. > Routers have been saving the combined config for decades. IMO the standar= ds > intentionally avoid discussing the conversion of a datastore to/from > NV-storage. > > > I=E2=80=99m unsure about this point, but a don=E2=80=99t see any dependen= cy on an NV-store > needing to use a particular encoding or format. > > As I see it this is the same problem that we discussed in >> https://github.com/netmod-wg/yang-next/issues/41. >> >> I know this is a radical change, but I think using a new YANG extension >> to create a read-only config=3Dtrue datatype is a much cleaner solution.= One >> which some companies have already implemented. >> > +1 > > Actually, separate running and system would be a radical change, not this= . > Cleaner and less disruptive. > > > I disagree with the need to resolve issue #41 here, and I disagree a > datastore would be a radical change, or even complicated. > > That said, something like RFC 6243 (with-defaults) but called > =E2=80=9Cwith-system=E2=80=9D could work. That is, the =E2=80=9Csystem" = config is like > config that is hidden until asked to be revealed. It would be interesting > to discuss if =E2=80=9Cwith-defaults" returns all of the system config, o= r just > the parts that are used, assuming we define =E2=80=9Cused=E2=80=9D approp= riately. > Presumably system-defined ordered-list entries cannot be ordered by use= r, > or used as before/after pivots. > > We could even do both: have a read-only datastore *and* a > "with-system" interaction API. Each complimenting the other. > I prefer neither. I think NMDA with an origin-filter and/or with-origin parameter already solves this problem. Andy > FWIW, a "with-system =E2=80=9D still may not pass validation if,= e.g., > templates need to be expanded. Of course, any controller/orchestrator ca= n > expand the templates themselves to resolve that concern. Such a system > could also fetch without skipping a beat. > > Thought exercise: a controller is managing 1000 endpoints all running the > same software version. Is it better for the controller to get "with-syst= em > =E2=80=9D 1000 times, or get once and have knowledge fo= r how > its merged in? > > K. > > > > > --000000000000e4bb4105c89b635e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Mon, Aug 2, 2021 at 3:31 PM Kent W= atsen <kent+ietf@watsen.net> wrote:

Hi Balazs, Andy, Quif= ang,

I agree a new datastore will just add com= plexity without any value.
Your solution approach is better, but = I think it would require a new YANG version
to allow config node = XPath to reference non-config nodes.

In no case is there a need for a config Xpath to ref = non-config.


Another solution is to = model the referenced node as config=3Dtrue, but setup
automatic N= ACM rules so no user editing is allowed. This works well for
sett= ing up an initial config that gets saved and not changed unless a reset is = done.



What if <int= ended> is what is NV-stored?=C2=A0 When that occurs, the config changes = from system to user config.
Routers have been saving the combined= config for decades. IMO the standards
intentionally avoid discus= sing the conversion of a datastore to/from NV-storage.

I=E2=80=99m unsure about this point, bu= t a don=E2=80=99t see any dependency on an NV-store needing to use a partic= ular encoding or format.

As I see it this is the same problem that we discussed in https://g= ithub.com/netmod-wg/yang-next/issues/41.

I know thi= s is a radical change, but I think using a new YANG extension to create a r= ead-only config=3Dtrue datatype is a much cleaner solution. One which some = companies have already implemented.

+1

Actually, separate running and=C2=A0system wou= ld be a=C2=A0radical change, not this.
Cleaner and less disruptiv= e.=C2=A0

I disagree with = the need to resolve issue #41 here, and I disagree a <system> datasto= re would be a radical change, or even complicated.

That said, something like RFC 6243 (with-defaults) but called =E2=80=9Cwit= h-system=E2=80=9D could work.=C2=A0 That is, the =E2=80=9Csystem" conf= ig is like <running> config that is hidden until asked to be revealed= . It would be interesting to discuss if =E2=80=9Cwith-defaults" return= s all of the system config, or=C2=A0just the parts = that are used, assuming we define=C2=A0=E2=80=9Cused=E2=80=9D=C2=A0ap= propriately. =C2=A0=C2=A0Presumably system-defined ordered-list entries can= not be ordered by user, or used as before/after pivots.=

We could even do both: have a read-only <system> = datastore *and* a=C2=A0"with-system&q= uot;=C2=A0interaction API.=C2=A0 Each complimenting the other.
=


I prefer = neither.
I think NMDA <get-data> with an origin-filter and/= or with-origin parameter already solves this problem.=C2=A0

<= /div>

Andy


FWIW, a "with-system=C2=A0<running>=E2=80=9D still may not pass validation if= , e.g., templates need to be expanded.=C2=A0 Of course, any controller/orch= estrator can expand the templates themselves to resolve that concern.=C2=A0= Such a system could also fetch <system> without skipping a beat.

Thought exercise: a controller is managing 1000 endpo= ints all running the same software version.=C2=A0 Is it better for the cont= roller to get "with-system=C2=A0<r= unning>=E2=80=9D 1000 times, or get <system> once and have = knowledge for how its merged in?

K.

=



--000000000000e4bb4105c89b635e-- From nobody Mon Aug 2 18:21:11 2021 Return-Path: <0100017b099998ea-5c3d114d-fa6f-4f00-bdf8-7aa6447ceef3-000000@amazonses.watsen.net> X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 998303A07C4 for ; Mon, 2 Aug 2021 18:21:09 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.895 X-Spam-Level: X-Spam-Status: No, score=-1.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Johe0FI8Fhyc for ; Mon, 2 Aug 2021 18:21:07 -0700 (PDT) Received: from a8-96.smtp-out.amazonses.com (a8-96.smtp-out.amazonses.com [54.240.8.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B0FFB3A07BF for ; Mon, 2 Aug 2021 18:21:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1627953666; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=QUoEmOKIjotDYhJppFsTI36ghGrjviAdcl6MUfbizwo=; b=RvKytrXtMeV0TxHOT1SZu9Qy8NPuAVVG1wozl9IsaOwOWeLRSrinf0E80lbcHDVs gbjYBHfdat5K4fvXuIegpw6wvnmg9Hi1gVmOChBoFzyFHApCB/Mh+8Kx5KDACTfjwal Sy+6b1N8wDJ1FUDJwj0iWcJT6iAMkkRqwds5C22Q= From: Kent Watsen Message-ID: <0100017b099998ea-5c3d114d-fa6f-4f00-bdf8-7aa6447ceef3-000000@email.amazonses.com> Content-Type: multipart/alternative; boundary="Apple-Mail=_440D41E4-F48E-47B3-9D5D-874F7E387D81" Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\)) Date: Tue, 3 Aug 2021 01:21:06 +0000 In-Reply-To: Cc: =?utf-8?Q?Bal=C3=A1zs_Lengyel?= , "maqiufang (A)" , "netmod@ietf.org" To: Andy Bierman References: <5b76dae2175545959f0006b036efd647@huawei.com> <2d1262bc90fc49d08eb641365b959ea4@huawei.com> <0100017aab854793-eb989e55-8496-451b-84de-7f17cb0720d5-000000@email.amazonses.com> <0100017aee17493f-6b9b747c-f0f1-4a70-b929-aaa0350a555f-000000@email.amazonses.com> <0100017b08feb7ef-71cbbcaa-256f-4947-ab27-9fdd40f2993a-000000@email.amazonses.com> X-Mailer: Apple Mail (2.3654.100.0.2.22) Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES X-SES-Outgoing: 2021.08.03-54.240.8.96 Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2021 01:21:10 -0000 --Apple-Mail=_440D41E4-F48E-47B3-9D5D-874F7E387D81 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > I prefer neither. > I think NMDA with an origin-filter and/or with-origin = parameter already solves this problem.=20 Some of the nodes defined in may be referenced by nodes defined = in . There is a desire for the nodes to not be = defined only in , for online/offline validation. K. --Apple-Mail=_440D41E4-F48E-47B3-9D5D-874F7E387D81 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii

I prefer neither.
I = think NMDA <get-data> with an origin-filter and/or with-origin = parameter already solves this problem. 

Some of the nodes defined in <system> may be = referenced by nodes defined in <running>.  There is a desire = for the <system> nodes to not be defined only in = <operational>, for online/offline validation.

K.


= --Apple-Mail=_440D41E4-F48E-47B3-9D5D-874F7E387D81-- From nobody Mon Aug 2 18:45:53 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6F5423A08DE for ; Mon, 2 Aug 2021 18:45:51 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.895 X-Spam-Level: X-Spam-Status: No, score=-1.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JydLCnt46rU6 for ; Mon, 2 Aug 2021 18:45:46 -0700 (PDT) Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6CA503A08D9 for ; Mon, 2 Aug 2021 18:45:46 -0700 (PDT) Received: from fraeml735-chm.china.huawei.com (unknown [172.18.147.207]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4GdyPV0Ym0z6FFy3 for ; Tue, 3 Aug 2021 09:45:34 +0800 (CST) Received: from dggpemm100001.china.huawei.com (7.185.36.93) by fraeml735-chm.china.huawei.com (10.206.15.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Tue, 3 Aug 2021 03:45:42 +0200 Received: from dggpemm500003.china.huawei.com (7.185.36.56) by dggpemm100001.china.huawei.com (7.185.36.93) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Tue, 3 Aug 2021 09:45:40 +0800 Received: from dggpemm500003.china.huawei.com ([7.185.36.56]) by dggpemm500003.china.huawei.com ([7.185.36.56]) with mapi id 15.01.2176.012; Tue, 3 Aug 2021 09:45:40 +0800 From: "Fengchong (frank)" To: Andy Bierman , Kent Watsen CC: =?utf-8?B?QmFsw6F6cyBMZW5neWVs?= , "netmod@ietf.org" Thread-Topic: [netmod] system configuration sync mechanism Thread-Index: Add4ieaMV4M1zhk1St6ROfyHhlohlAAAAuNAADd2vwAAKFO5cAJhxiGAAJuFmrD//87VgIAAB8mAgAODFgCAAAUFAP//TxCA Date: Tue, 3 Aug 2021 01:45:40 +0000 Message-ID: References: <5b76dae2175545959f0006b036efd647@huawei.com> <2d1262bc90fc49d08eb641365b959ea4@huawei.com> <0100017aab854793-eb989e55-8496-451b-84de-7f17cb0720d5-000000@email.amazonses.com> <0100017aee17493f-6b9b747c-f0f1-4a70-b929-aaa0350a555f-000000@email.amazonses.com> <0100017b08feb7ef-71cbbcaa-256f-4947-ab27-9fdd40f2993a-000000@email.amazonses.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.136.113.80] Content-Type: multipart/alternative; boundary="_000_b4ead22f31c44b5296e51138befd6816huaweicom_" MIME-Version: 1.0 X-CFilter-Loop: Reflected Archived-At: Subject: [netmod] =?utf-8?b?562U5aSNOiAgc3lzdGVtIGNvbmZpZ3VyYXRpb24gc3lu?= =?utf-8?q?c_mechanism?= X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2021 01:45:52 -0000 --_000_b4ead22f31c44b5296e51138befd6816huaweicom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgYW5keSBhbmQgYWxsLg0KDQpJIGRvbuKAmXQgdGhpbmsgZ2V0LWRhdGEgd2l0aCBvcmlnaW4g Y2FuIHNvbHZlIHRoZSBpc3N1ZXMgYmVsb3c6DQoNCg0KMS4gICAgICAgU29tZSBsZWFmcyBsaWtl IGludGVyZmFjZSB0eXBlIENBTiBOT1QgYmUgbW9kaWZpZWQgYnkgdXNlciwgYnV0IGNhbiBiZSBy ZWZlcmVuY2VkIGJ5IG90aGVyIGNvbmZpZyBub2RlcyhlLmcuIHVzaW5nIGxlYWZyZWYgb3Igb2Nj dXIgaW4gd2hlbi9tdXN0KS4gVGhlIHZhbGlkYXRpb24gd2lsbCBiZSBmYWlsIGlmIHRoZXNlIGxl YWZzIGFyZSBub3QgYmUgY29uZmlndXJlZCBieSB1c2VyIG5vdyBleHBsaWNpdGx5ICh3ZSBhc3N1 bWUgdGhlc2UgbGVhZnMgYXJlIG9wdGlvbmFsIGFuZCBubyBkZWZhdWx0IHZhbHVlKS4NCg0KMi4g ICAgICAgU29tZSBpbnN0YW5jZXMgYXJlIGdlbmVyYXRlZCBieSBzeXN0ZW0sIGJ1dCB0aGVzZSBp bnN0YW5jZXMgY2FuIGJlIHJlZmVyZW5jZWQgYnkgb3RoZXIgY29uZmlnIG5vZGVzLiBUaGUgdmFs aWRhdGlvbiBtdXN0IGJlIGZhaWwgaWYgdGhlc2UgaW5zdGFuY2VzIGFyZSBub3QgYmUgcmVjcmVh dGVkIGJ5IHVzZXIgZXhwbGljaXRseSBub3cuDQoNCjMuICAgICAgIFVzZXIgbWF5IG5lZWQga25v dyB3aGF0IHRoZSBvcmlnaW5hbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBpcywgaWYgd2UgZ2V0IGRh dGEgZnJvbSA8b3BlcmF0aW9uYWw+LCB5b3UgbWF5IGdldCB0aGUgbW9kaWZpZWQgc3lzdGVtIGNv bmZpZ3VyYXRpb24uKGZvciBleGFtcGxlLCB1c2VyIG1vZGlmeSBvciB0ZW1wbGF0ZSBpcyBleHBh bmRlZCwgb3Igb25seSBhY3RpdmUgaW5zdGFuY2VzKQ0KDQpJIGRvbuKAmXQgY2FyZSBhYm91dCB3 aGV0aGVyIHN5c3RlbSBkYXRhc3RvcmUgaXMgaW1wb3J0ZWQgdG8gcnVubmluZyBvciBpbnRlbmRl ZCBkYXRhc3RvcmVzLiBCdXQgSSB0aGluayBpZiBhIGNvbmZpZyBub2RlIHJlZmVyZW5jZSBhIHN5 c3RlbSBub2RlLCB0aGUgdmFsaWRhdGlvbiAocnVubmluZyBvciBpbnRlbmRlZCBkYXRhc3RvcmVz KSB3aWxsIGJlIHN1Y2Nlc3NmdWwgZXZlbiBpZiB0aGUgc3lzdGVtIG5vZGUgaXMgbm90IGNvbmZp Z3VyZWQgYnkgdXNlciBleHBsaWNpdGx5Lg0KDQpFc3BlY2lhbGx5IG9uIHRoZSBjbGllbnQgc2lk ZSwgIGlmIGEgY2xpZW50IG5lZWQgdmFsaWRhdGUgYWxsIGRhdGEgcmV0cmlldmVkIGZyb20gc2Vy dmVyLCB0aGUgdmFsaWRhdGlvbiBTSE9VTEQgYmUgc3VjY2Vzc2Z1bC4gSWYgc3lzdGVtIGNvbmZp Z3VyYXRpb24gYXJlIG5vdCBpbXBvcnRlZCB0byBydW5uaW5nLCBhdCBhIG1pbmltdW0sIHRoZSBj bGllbnQgbmVlZHMgdG8ga25vdyB3aGF0IHRoZSBvcmlnaW5hbCBzeXN0ZW0gY29uZmlndXJhdGlv biBpcy4gQW5vdGhlciB3YXkgaXMgYWRkaW5nIHdpdGgtc3lzdGVtLXVzZWQgcGFyYW1ldGVyIHRv IGdldC1jb25maWcgb3BlcmF0aW9uIHRvIHJldHJpZXZlZCBhbGwgdXNlciBjb25maWd1cmF0aW9u IGFuZCBzeXN0ZW0gY29uZmlndXJhdGlvbiByZWZlcmVuY2VkIGJ5IHVzZXIgY29uZmlndXJhdGlv bi4NCg0K5Y+R5Lu25Lq6OiBuZXRtb2QgW21haWx0bzpuZXRtb2QtYm91bmNlc0BpZXRmLm9yZ10g 5Luj6KGoIEFuZHkgQmllcm1hbg0K5Y+R6YCB5pe26Ze0OiAyMDIx5bm0OOaciDPml6UgNjo1MA0K 5pS25Lu25Lq6OiBLZW50IFdhdHNlbiA8a2VudCtpZXRmQHdhdHNlbi5uZXQ+DQrmioTpgIE6IEJh bMOhenMgTGVuZ3llbCA8YmFsYXpzLmxlbmd5ZWw9NDBlcmljc3Nvbi5jb21AZG1hcmMuaWV0Zi5v cmc+OyBuZXRtb2RAaWV0Zi5vcmcNCuS4u+mimDogUmU6IFtuZXRtb2RdIHN5c3RlbSBjb25maWd1 cmF0aW9uIHN5bmMgbWVjaGFuaXNtDQoNCg0KDQpPbiBNb24sIEF1ZyAyLCAyMDIxIGF0IDM6MzEg UE0gS2VudCBXYXRzZW4gPGtlbnQraWV0ZkB3YXRzZW4ubmV0PG1haWx0bzprZW50JTJCaWV0ZkB3 YXRzZW4ubmV0Pj4gd3JvdGU6DQoNCkhpIEJhbGF6cywgQW5keSwgUXVpZmFuZywNCg0KSSBhZ3Jl ZSBhIG5ldyBkYXRhc3RvcmUgd2lsbCBqdXN0IGFkZCBjb21wbGV4aXR5IHdpdGhvdXQgYW55IHZh bHVlLg0KWW91ciBzb2x1dGlvbiBhcHByb2FjaCBpcyBiZXR0ZXIsIGJ1dCBJIHRoaW5rIGl0IHdv dWxkIHJlcXVpcmUgYSBuZXcgWUFORyB2ZXJzaW9uDQp0byBhbGxvdyBjb25maWcgbm9kZSBYUGF0 aCB0byByZWZlcmVuY2Ugbm9uLWNvbmZpZyBub2Rlcy4NCg0KSW4gbm8gY2FzZSBpcyB0aGVyZSBh IG5lZWQgZm9yIGEgY29uZmlnIFhwYXRoIHRvIHJlZiBub24tY29uZmlnLg0KDQoNCkFub3RoZXIg c29sdXRpb24gaXMgdG8gbW9kZWwgdGhlIHJlZmVyZW5jZWQgbm9kZSBhcyBjb25maWc9dHJ1ZSwg YnV0IHNldHVwDQphdXRvbWF0aWMgTkFDTSBydWxlcyBzbyBubyB1c2VyIGVkaXRpbmcgaXMgYWxs b3dlZC4gVGhpcyB3b3JrcyB3ZWxsIGZvcg0Kc2V0dGluZyB1cCBhbiBpbml0aWFsIGNvbmZpZyB0 aGF0IGdldHMgc2F2ZWQgYW5kIG5vdCBjaGFuZ2VkIHVubGVzcyBhIHJlc2V0IGlzIGRvbmUuDQoN CkkgZG9u4oCZdCBsaWtlIHRoZSBOQUNNIGRlcGVuZGVuY3kuDQoNCg0KDQpXaGF0IGlmIDxpbnRl bmRlZD4gaXMgd2hhdCBpcyBOVi1zdG9yZWQ/ICBXaGVuIHRoYXQgb2NjdXJzLCB0aGUgY29uZmln IGNoYW5nZXMgZnJvbSBzeXN0ZW0gdG8gdXNlciBjb25maWcuDQpSb3V0ZXJzIGhhdmUgYmVlbiBz YXZpbmcgdGhlIGNvbWJpbmVkIGNvbmZpZyBmb3IgZGVjYWRlcy4gSU1PIHRoZSBzdGFuZGFyZHMN CmludGVudGlvbmFsbHkgYXZvaWQgZGlzY3Vzc2luZyB0aGUgY29udmVyc2lvbiBvZiBhIGRhdGFz dG9yZSB0by9mcm9tIE5WLXN0b3JhZ2UuDQoNCknigJltIHVuc3VyZSBhYm91dCB0aGlzIHBvaW50 LCBidXQgYSBkb27igJl0IHNlZSBhbnkgZGVwZW5kZW5jeSBvbiBhbiBOVi1zdG9yZSBuZWVkaW5n IHRvIHVzZSBhIHBhcnRpY3VsYXIgZW5jb2Rpbmcgb3IgZm9ybWF0Lg0KDQpBcyBJIHNlZSBpdCB0 aGlzIGlzIHRoZSBzYW1lIHByb2JsZW0gdGhhdCB3ZSBkaXNjdXNzZWQgaW4gaHR0cHM6Ly9naXRo dWIuY29tL25ldG1vZC13Zy95YW5nLW5leHQvaXNzdWVzLzQxLg0KSSBrbm93IHRoaXMgaXMgYSBy YWRpY2FsIGNoYW5nZSwgYnV0IEkgdGhpbmsgdXNpbmcgYSBuZXcgWUFORyBleHRlbnNpb24gdG8g Y3JlYXRlIGEgcmVhZC1vbmx5IGNvbmZpZz10cnVlIGRhdGF0eXBlIGlzIGEgbXVjaCBjbGVhbmVy IHNvbHV0aW9uLiBPbmUgd2hpY2ggc29tZSBjb21wYW5pZXMgaGF2ZSBhbHJlYWR5IGltcGxlbWVu dGVkLg0KKzENCg0KQWN0dWFsbHksIHNlcGFyYXRlIHJ1bm5pbmcgYW5kIHN5c3RlbSB3b3VsZCBi ZSBhIHJhZGljYWwgY2hhbmdlLCBub3QgdGhpcy4NCkNsZWFuZXIgYW5kIGxlc3MgZGlzcnVwdGl2 ZS4NCg0KSSBkaXNhZ3JlZSB3aXRoIHRoZSBuZWVkIHRvIHJlc29sdmUgaXNzdWUgIzQxIGhlcmUs IGFuZCBJIGRpc2FncmVlIGEgPHN5c3RlbT4gZGF0YXN0b3JlIHdvdWxkIGJlIGEgcmFkaWNhbCBj aGFuZ2UsIG9yIGV2ZW4gY29tcGxpY2F0ZWQuDQoNClRoYXQgc2FpZCwgc29tZXRoaW5nIGxpa2Ug UkZDIDYyNDMgKHdpdGgtZGVmYXVsdHMpIGJ1dCBjYWxsZWQg4oCcd2l0aC1zeXN0ZW3igJ0gY291 bGQgd29yay4gIFRoYXQgaXMsIHRoZSDigJxzeXN0ZW0iIGNvbmZpZyBpcyBsaWtlIDxydW5uaW5n PiBjb25maWcgdGhhdCBpcyBoaWRkZW4gdW50aWwgYXNrZWQgdG8gYmUgcmV2ZWFsZWQuIEl0IHdv dWxkIGJlIGludGVyZXN0aW5nIHRvIGRpc2N1c3MgaWYg4oCcd2l0aC1kZWZhdWx0cyIgcmV0dXJu cyBhbGwgb2YgdGhlIHN5c3RlbSBjb25maWcsIG9yIGp1c3QgdGhlIHBhcnRzIHRoYXQgYXJlIHVz ZWQsIGFzc3VtaW5nIHdlIGRlZmluZSDigJx1c2Vk4oCdIGFwcHJvcHJpYXRlbHkuICAgUHJlc3Vt YWJseSBzeXN0ZW0tZGVmaW5lZCBvcmRlcmVkLWxpc3QgZW50cmllcyBjYW5ub3QgYmUgb3JkZXJl ZCBieSB1c2VyLCBvciB1c2VkIGFzIGJlZm9yZS9hZnRlciBwaXZvdHMuDQoNCldlIGNvdWxkIGV2 ZW4gZG8gYm90aDogaGF2ZSBhIHJlYWQtb25seSA8c3lzdGVtPiBkYXRhc3RvcmUgKmFuZCogYSAi d2l0aC1zeXN0ZW0iIGludGVyYWN0aW9uIEFQSS4gIEVhY2ggY29tcGxpbWVudGluZyB0aGUgb3Ro ZXIuDQoNCg0KSSBwcmVmZXIgbmVpdGhlci4NCkkgdGhpbmsgTk1EQSA8Z2V0LWRhdGE+IHdpdGgg YW4gb3JpZ2luLWZpbHRlciBhbmQvb3Igd2l0aC1vcmlnaW4gcGFyYW1ldGVyIGFscmVhZHkgc29s dmVzIHRoaXMgcHJvYmxlbS4NCg0KDQpBbmR5DQoNCg0KRldJVywgYSAid2l0aC1zeXN0ZW0gPHJ1 bm5pbmc+4oCdIHN0aWxsIG1heSBub3QgcGFzcyB2YWxpZGF0aW9uIGlmLCBlLmcuLCB0ZW1wbGF0 ZXMgbmVlZCB0byBiZSBleHBhbmRlZC4gIE9mIGNvdXJzZSwgYW55IGNvbnRyb2xsZXIvb3JjaGVz dHJhdG9yIGNhbiBleHBhbmQgdGhlIHRlbXBsYXRlcyB0aGVtc2VsdmVzIHRvIHJlc29sdmUgdGhh dCBjb25jZXJuLiAgU3VjaCBhIHN5c3RlbSBjb3VsZCBhbHNvIGZldGNoIDxzeXN0ZW0+IHdpdGhv dXQgc2tpcHBpbmcgYSBiZWF0Lg0KDQpUaG91Z2h0IGV4ZXJjaXNlOiBhIGNvbnRyb2xsZXIgaXMg bWFuYWdpbmcgMTAwMCBlbmRwb2ludHMgYWxsIHJ1bm5pbmcgdGhlIHNhbWUgc29mdHdhcmUgdmVy c2lvbi4gIElzIGl0IGJldHRlciBmb3IgdGhlIGNvbnRyb2xsZXIgdG8gZ2V0ICJ3aXRoLXN5c3Rl bSA8cnVubmluZz7igJ0gMTAwMCB0aW1lcywgb3IgZ2V0IDxzeXN0ZW0+IG9uY2UgYW5kIGhhdmUg a25vd2xlZGdlIGZvciBob3cgaXRzIG1lcmdlZCBpbj8NCg0KSy4NCg0KDQoNCg0K --_000_b4ead22f31c44b5296e51138befd6816huaweicom_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 5a6L5L2TOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0KQGZvbnQtZmFjZQ0KCXtm b250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0 O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUg MiAyIDIgNCAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJcQOWui+S9kyI7DQoJ cGFub3NlLTE6MiAxIDYgMCAzIDEgMSAxIDEgMTt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5 OuW+rui9r+mbhem7kTsNCglwYW5vc2UtMToyIDExIDUgMyAyIDIgNCAyIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OiJcQOW+rui9r+mbhem7kSI7DQoJcGFub3NlLTE6MiAxMSA1IDMg MiAyIDQgMiAyIDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5N c29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4w MDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseTrlrovkvZM7fQ0KYTpsaW5r LCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1 ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBl cmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6cHVycGxlOw0K CXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KcC5Nc29MaXN0UGFyYWdyYXBoLCBsaS5Nc29M aXN0UGFyYWdyYXBoLCBkaXYuTXNvTGlzdFBhcmFncmFwaA0KCXttc28tc3R5bGUtcHJpb3JpdHk6 MzQ7DQoJbWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJdGV4dC1pbmRlbnQ6 MjEuMHB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk65a6L5L2TO30NCnNwYW4u RW1haWxTdHlsZTE3DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFt aWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0KLk1zb0NocERlZmF1 bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmki LHNhbnMtc2VyaWY7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6NjEyLjBwdCA3OTIuMHB0 Ow0KCW1hcmdpbjo3Mi4wcHQgOTAuMHB0IDcyLjBwdCA5MC4wcHQ7fQ0KZGl2LldvcmRTZWN0aW9u MQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQovKiBMaXN0IERlZmluaXRpb25zICovDQpAbGlzdCBs MA0KCXttc28tbGlzdC1pZDoxMzkwMTUwODM1Ow0KCW1zby1saXN0LXR5cGU6aHlicmlkOw0KCW1z by1saXN0LXRlbXBsYXRlLWlkczotMTY1MjgwNzc5MCAxODM2NDkxNzgwIDY3Njk4NzEzIDY3Njk4 NzE1IDY3Njk4NzAzIDY3Njk4NzEzIDY3Njk4NzE1IDY3Njk4NzAzIDY3Njk4NzEzIDY3Njk4NzE1 O30NCkBsaXN0IGwwOmxldmVsMQ0KCXttc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2 ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6MTguMHB0Ow0KCXRleHQtaW5k ZW50Oi0xOC4wcHQ7fQ0KQGxpc3QgbDA6bGV2ZWwyDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0 OmFscGhhLWxvd2VyOw0KCW1zby1sZXZlbC10ZXh0OiIlMlwpIjsNCgltc28tbGV2ZWwtdGFiLXN0 b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6 NDIuMHB0Ow0KCXRleHQtaW5kZW50Oi0yMS4wcHQ7fQ0KQGxpc3QgbDA6bGV2ZWwzDQoJe21zby1s ZXZlbC1udW1iZXItZm9ybWF0OnJvbWFuLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25l Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246cmlnaHQ7DQoJbWFyZ2luLWxlZnQ6NjMuMHB0 Ow0KCXRleHQtaW5kZW50Oi0yMS4wcHQ7fQ0KQGxpc3QgbDA6bGV2ZWw0DQoJe21zby1sZXZlbC10 YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4t bGVmdDo4NC4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTIxLjBwdDt9DQpAbGlzdCBsMDpsZXZlbDUNCgl7 bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93ZXI7DQoJbXNvLWxldmVsLXRleHQ6IiU1 XCkiOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRp b246bGVmdDsNCgltYXJnaW4tbGVmdDoxMDUuMHB0Ow0KCXRleHQtaW5kZW50Oi0yMS4wcHQ7fQ0K QGxpc3QgbDA6bGV2ZWw2DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OnJvbWFuLWxvd2VyOw0K CW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246cmln aHQ7DQoJbWFyZ2luLWxlZnQ6MTI2LjBwdDsNCgl0ZXh0LWluZGVudDotMjEuMHB0O30NCkBsaXN0 IGwwOmxldmVsNw0KCXttc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVy LXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6MTQ3LjBwdDsNCgl0ZXh0LWluZGVudDotMjEu MHB0O30NCkBsaXN0IGwwOmxldmVsOA0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDphbHBoYS1s b3dlcjsNCgltc28tbGV2ZWwtdGV4dDoiJThcKSI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7 DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjE2OC4wcHQ7 DQoJdGV4dC1pbmRlbnQ6LTIxLjBwdDt9DQpAbGlzdCBsMDpsZXZlbDkNCgl7bXNvLWxldmVsLW51 bWJlci1mb3JtYXQ6cm9tYW4tbG93ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNv LWxldmVsLW51bWJlci1wb3NpdGlvbjpyaWdodDsNCgltYXJnaW4tbGVmdDoxODkuMHB0Ow0KCXRl eHQtaW5kZW50Oi0yMS4wcHQ7fQ0Kb2wNCgl7bWFyZ2luLWJvdHRvbTowY207fQ0KdWwNCgl7bWFy Z2luLWJvdHRvbTowY207fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxv OnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtl bmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJl ZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0 PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iWkgtQ04iIGxpbms9ImJs dWUiIHZsaW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+ SGkgYW5keSBhbmQgYWxsLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWls eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJz cDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t VVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv dDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5JIGRvbuKAmXQgdGhpbmsgZ2V0LWRhdGEgd2l0 aCBvcmlnaW4gY2FuIHNvbHZlIHRoZSBpc3N1ZXMgYmVsb3c6PG86cD48L286cD48L3NwYW4+PC9w Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp emU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xv cjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTGlz dFBhcmFncmFwaCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjE4LjBwdDt0ZXh0LWluZGVudDotMTguMHB0 O21zby1saXN0OmwwIGxldmVsMSBsZm8xIj4NCjwhW2lmICFzdXBwb3J0TGlzdHNdPjxzcGFuIGxh bmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxp YnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PHNwYW4gc3R5bGU9Im1zby1saXN0 Oklnbm9yZSI+MS48c3BhbiBzdHlsZT0iZm9udDo3LjBwdCAmcXVvdDtUaW1lcyBOZXcgUm9tYW4m cXVvdDsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjwvc3Bh bj48L3NwYW4+PCFbZW5kaWZdPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEw LjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFG NDk3RCI+U29tZSBsZWFmcyBsaWtlIGludGVyZmFjZSB0eXBlIENBTiBOT1QgYmUgbW9kaWZpZWQg YnkgdXNlciwgYnV0IGNhbiBiZSByZWZlcmVuY2VkIGJ5IG90aGVyIGNvbmZpZyBub2RlcyhlLmcu IHVzaW5nIGxlYWZyZWYgb3Igb2NjdXIgaW4NCiB3aGVuL211c3QpLiBUaGUgdmFsaWRhdGlvbiB3 aWxsIGJlIGZhaWwgaWYgdGhlc2UgbGVhZnMgYXJlIG5vdCBiZSBjb25maWd1cmVkIGJ5IHVzZXIg bm93IGV4cGxpY2l0bHkgKHdlIGFzc3VtZSB0aGVzZSBsZWFmcyBhcmUgb3B0aW9uYWwgYW5kIG5v IGRlZmF1bHQgdmFsdWUpLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29MaXN0 UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MTguMHB0O3RleHQtaW5kZW50Oi0xOC4wcHQ7 bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzEiPg0KPCFbaWYgIXN1cHBvcnRMaXN0c10+PHNwYW4gbGFu Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli cmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48c3BhbiBzdHlsZT0ibXNvLWxpc3Q6 SWdub3JlIj4yLjxzcGFuIHN0eWxlPSJmb250OjcuMHB0ICZxdW90O1RpbWVzIE5ldyBSb21hbiZx dW90OyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PC9zcGFu Pjwvc3Bhbj48IVtlbmRpZl0+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAu NXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0 OTdEIj5Tb21lIGluc3RhbmNlcyBhcmUgZ2VuZXJhdGVkIGJ5IHN5c3RlbSwgYnV0IHRoZXNlIGlu c3RhbmNlcyBjYW4gYmUgcmVmZXJlbmNlZCBieSBvdGhlciBjb25maWcgbm9kZXMuIFRoZSB2YWxp ZGF0aW9uIG11c3QgYmUgZmFpbCBpZiB0aGVzZQ0KIGluc3RhbmNlcyBhcmUgbm90IGJlIHJlY3Jl YXRlZCBieSB1c2VyIGV4cGxpY2l0bHkgbm93LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs YXNzPSJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MTguMHB0O3RleHQtaW5k ZW50Oi0xOC4wcHQ7bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzEiPg0KPCFbaWYgIXN1cHBvcnRMaXN0 c10+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5 OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48c3BhbiBzdHls ZT0ibXNvLWxpc3Q6SWdub3JlIj4zLjxzcGFuIHN0eWxlPSJmb250OjcuMHB0ICZxdW90O1RpbWVz IE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8 L3NwYW4+PC9zcGFuPjwvc3Bhbj48IVtlbmRpZl0+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm b250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJp Zjtjb2xvcjojMUY0OTdEIj5Vc2VyIG1heSBuZWVkIGtub3cgd2hhdCB0aGUgb3JpZ2luYWwgc3lz dGVtIGNvbmZpZ3VyYXRpb24gaXMsIGlmIHdlIGdldCBkYXRhIGZyb20gJmx0O29wZXJhdGlvbmFs Jmd0OywgeW91IG1heSBnZXQgdGhlIG1vZGlmaWVkIHN5c3RlbSBjb25maWd1cmF0aW9uLihmb3IN CiBleGFtcGxlLCB1c2VyIG1vZGlmeSBvciB0ZW1wbGF0ZSBpcyBleHBhbmRlZCwgb3Igb25seSBh Y3RpdmUgaW5zdGFuY2VzKTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWls eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJz cDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t VVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv dDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5JIGRvbuKAmXQgY2FyZSBhYm91dCB3aGV0aGVy IHN5c3RlbSBkYXRhc3RvcmUgaXMgaW1wb3J0ZWQgdG8gcnVubmluZyBvciBpbnRlbmRlZCBkYXRh c3RvcmVzLiBCdXQgSSB0aGluayBpZiBhIGNvbmZpZyBub2RlIHJlZmVyZW5jZSBhIHN5c3RlbSBu b2RlLA0KIHRoZSB2YWxpZGF0aW9uIChydW5uaW5nIG9yIGludGVuZGVkIGRhdGFzdG9yZXMpIHdp bGwgYmUgc3VjY2Vzc2Z1bCBldmVuIGlmIHRoZSBzeXN0ZW0gbm9kZSBpcyBub3QgY29uZmlndXJl ZCBieSB1c2VyIGV4cGxpY2l0bHkuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQt ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpw PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy aSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkVzcGVjaWFsbHkgb24gdGhlIGNsaWVu dCBzaWRlLCAmbmJzcDtpZiBhIGNsaWVudCBuZWVkIHZhbGlkYXRlIGFsbCBkYXRhIHJldHJpZXZl ZCBmcm9tIHNlcnZlciwgdGhlIHZhbGlkYXRpb24gU0hPVUxEIGJlIHN1Y2Nlc3NmdWwuIElmIHN5 c3RlbSBjb25maWd1cmF0aW9uDQogYXJlIG5vdCBpbXBvcnRlZCB0byBydW5uaW5nLCBhdCBhIG1p bmltdW0sIHRoZSBjbGllbnQgbmVlZHMgdG8ga25vdyB3aGF0IHRoZSBvcmlnaW5hbCBzeXN0ZW0g Y29uZmlndXJhdGlvbiBpcy4gQW5vdGhlciB3YXkgaXMgYWRkaW5nIHdpdGgtc3lzdGVtLXVzZWQg cGFyYW1ldGVyIHRvIGdldC1jb25maWcgb3BlcmF0aW9uIHRvIHJldHJpZXZlZCBhbGwgdXNlciBj b25maWd1cmF0aW9uIGFuZCBzeXN0ZW0gY29uZmlndXJhdGlvbiByZWZlcmVuY2VkDQogYnkgdXNl ciBjb25maWd1cmF0aW9uLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWls eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJz cDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNh bnMtc2VyaWYiPuWPkeS7tuS6ujxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvc3Bhbj48L2I+ PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx dW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj4gbmV0bW9kIFttYWlsdG86bmV0bW9k LWJvdW5jZXNAaWV0Zi5vcmddDQo8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w cHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuS7o+ih qCA8L3NwYW4+DQo8L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0 O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj5BbmR5IEJp ZXJtYW48YnI+DQo8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m YW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuWPkemAgeaXtumXtDxz cGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0 eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90 OyxzYW5zLXNlcmlmIj4gMjAyMTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm b250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+5bm0PHNwYW4g bGFuZz0iRU4tVVMiPjg8L3NwYW4+5pyIPHNwYW4gbGFuZz0iRU4tVVMiPjM8L3NwYW4+5pelPHNw YW4gbGFuZz0iRU4tVVMiPg0KIDY6NTA8YnI+DQo8L3NwYW4+PGI+5pS25Lu25Lq6PHNwYW4gbGFu Zz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gS2VudCBXYXRzZW4gJmx0 O2tlbnQmIzQzO2lldGZAd2F0c2VuLm5ldCZndDs8YnI+DQo8L3NwYW4+PGI+5oqE6YCBPHNwYW4g bGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gQmFsPC9zcGFuPsOh PHNwYW4gbGFuZz0iRU4tVVMiPnpzIExlbmd5ZWwgJmx0O2JhbGF6cy5sZW5neWVsPTQwZXJpY3Nz b24uY29tQGRtYXJjLmlldGYub3JnJmd0OzsgbmV0bW9kQGlldGYub3JnPGJyPg0KPC9zcGFuPjxi PuS4u+mimDxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyI+ IFJlOiBbbmV0bW9kXSBzeXN0ZW0gY29uZmlndXJhdGlvbiBzeW5jIG1lY2hhbmlzbTxvOnA+PC9v OnA+PC9zcGFuPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF Ti1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+ PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86 cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+T24gTW9uLCBBdWcgMiwgMjAyMSBhdCAzOjMxIFBNIEtl bnQgV2F0c2VuICZsdDs8YSBocmVmPSJtYWlsdG86a2VudCUyQmlldGZAd2F0c2VuLm5ldCI+a2Vu dCYjNDM7aWV0ZkB3YXRzZW4ubmV0PC9hPiZndDsgd3JvdGU6PG86cD48L286cD48L3NwYW4+PC9w Pg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29s aWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQu OHB0O21hcmdpbi1yaWdodDowY20iPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9kaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+SGkgQmFsYXpzLCBBbmR5 LCBRdWlmYW5nLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9k aXY+DQo8ZGl2Pg0KPGRpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21h cmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5JIGFncmVlIGEgbmV3IGRhdGFzdG9yZSB3 aWxsIGp1c3QgYWRkIGNvbXBsZXhpdHkgd2l0aG91dCBhbnkgdmFsdWUuPG86cD48L286cD48L3Nw YW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0i RU4tVVMiPllvdXIgc29sdXRpb24gYXBwcm9hY2ggaXMgYmV0dGVyLCBidXQgSSB0aGluayBpdCB3 b3VsZCByZXF1aXJlIGEgbmV3IFlBTkcgdmVyc2lvbjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwv ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj50byBh bGxvdyBjb25maWcgbm9kZSBYUGF0aCB0byByZWZlcmVuY2Ugbm9uLWNvbmZpZyBub2Rlcy48bzpw PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxv Y2txdW90ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+ PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPkluIG5vIGNhc2UgaXMgdGhlcmUgYSBuZWVkIGZv ciBhIGNvbmZpZyBYcGF0aCB0byByZWYgbm9uLWNvbmZpZy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+ DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+ PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4N CjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRv bTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gbGFuZz0iRU4tVVMiPkFub3RoZXIgc29sdXRpb24gaXMgdG8gbW9kZWwgdGhlIHJl ZmVyZW5jZWQgbm9kZSBhcyBjb25maWc9dHJ1ZSwgYnV0IHNldHVwPG86cD48L286cD48L3NwYW4+ PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t VVMiPmF1dG9tYXRpYyBOQUNNIHJ1bGVzIHNvIG5vIHVzZXIgZWRpdGluZyBpcyBhbGxvd2VkLiBU aGlzIHdvcmtzIHdlbGwgZm9yPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPnNldHRpbmcgdXAgYW4gaW5p dGlhbCBjb25maWcgdGhhdCBnZXRzIHNhdmVkIGFuZCBub3QgY2hhbmdlZCB1bmxlc3MgYSByZXNl dCBpcyBkb25lLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4N CjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+SSBkb27igJl0IGxpa2Ug dGhlIE5BQ00gZGVwZW5kZW5jeS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286 cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF Ti1VUyI+PGJyPg0KPGJyPg0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPGJsb2NrcXVvdGUgc3R5 bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4N CjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPldo YXQgaWYgJmx0O2ludGVuZGVkJmd0OyBpcyB3aGF0IGlzIE5WLXN0b3JlZD8mbmJzcDsgV2hlbiB0 aGF0IG9jY3VycywgdGhlIGNvbmZpZyBjaGFuZ2VzIGZyb20gc3lzdGVtIHRvIHVzZXIgY29uZmln LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5Sb3V0ZXJzIGhhdmUgYmVlbiBzYXZpbmcgdGhlIGNvbWJp bmVkIGNvbmZpZyBmb3IgZGVjYWRlcy4gSU1PIHRoZSBzdGFuZGFyZHM8bzpwPjwvbzpwPjwvc3Bh bj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF Ti1VUyI+aW50ZW50aW9uYWxseSBhdm9pZCBkaXNjdXNzaW5nIHRoZSBjb252ZXJzaW9uIG9mIGEg ZGF0YXN0b3JlIHRvL2Zyb20gTlYtc3RvcmFnZS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rp dj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxkaXY+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+ PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t VVMiPknigJltIHVuc3VyZSBhYm91dCB0aGlzIHBvaW50LCBidXQgYSBkb27igJl0IHNlZSBhbnkg ZGVwZW5kZW5jeSBvbiBhbiBOVi1zdG9yZSBuZWVkaW5nIHRvIHVzZSBhIHBhcnRpY3VsYXIgZW5j b2Rpbmcgb3IgZm9ybWF0LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwv c3Bhbj48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21h cmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9y ZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20g MGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20iPg0KPGRpdj4NCjxk aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87 bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYi PkFzIEkgc2VlIGl0IHRoaXMgaXMgdGhlIHNhbWUgcHJvYmxlbSB0aGF0IHdlIGRpc2N1c3NlZCBp bg0KPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL25ldG1vZC13Zy95YW5nLW5leHQvaXNzdWVz LzQxIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRodWIuY29tL25ldG1vZC13Zy95YW5nLW5l eHQvaXNzdWVzLzQxPC9hPi48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9z cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6 YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1z ZXJpZiI+SSBrbm93IHRoaXMgaXMgYSByYWRpY2FsIGNoYW5nZSwgYnV0IEkgdGhpbmsgdXNpbmcg YSBuZXcgWUFORyBleHRlbnNpb24gdG8gY3JlYXRlIGEgcmVhZC1vbmx5IGNvbmZpZz10cnVlDQog ZGF0YXR5cGUgaXMgYSBtdWNoIGNsZWFuZXIgc29sdXRpb24uIE9uZSB3aGljaCBzb21lIGNvbXBh bmllcyBoYXZlIGFscmVhZHkgaW1wbGVtZW50ZWQuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48 bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRp dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4mIzQzOzE8bzpwPjwv bzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh biBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPkFjdHVhbGx5LCBzZXBh cmF0ZSBydW5uaW5nIGFuZCZuYnNwO3N5c3RlbSB3b3VsZCBiZSBhJm5ic3A7cmFkaWNhbCBjaGFu Z2UsIG5vdCB0aGlzLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5DbGVhbmVyIGFuZCBsZXNzIGRpc3J1 cHRpdmUuJm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2 Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9 IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+SSBkaXNhZ3JlZSB3aXRoIHRoZSBu ZWVkIHRvIHJlc29sdmUgaXNzdWUgIzQxIGhlcmUsIGFuZCBJIGRpc2FncmVlIGEgJmx0O3N5c3Rl bSZndDsgZGF0YXN0b3JlIHdvdWxkIGJlIGEgcmFkaWNhbCBjaGFuZ2UsIG9yIGV2ZW4gY29tcGxp Y2F0ZWQuPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4N CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5U aGF0IHNhaWQsIHNvbWV0aGluZyBsaWtlIFJGQyA2MjQzICh3aXRoLWRlZmF1bHRzKSBidXQgY2Fs bGVkIOKAnHdpdGgtc3lzdGVt4oCdIGNvdWxkIHdvcmsuJm5ic3A7IFRoYXQgaXMsIHRoZSDigJxz eXN0ZW0mcXVvdDsgY29uZmlnIGlzIGxpa2UgJmx0O3J1bm5pbmcmZ3Q7IGNvbmZpZyB0aGF0IGlz IGhpZGRlbiB1bnRpbCBhc2tlZCB0byBiZSByZXZlYWxlZC4gSXQgd291bGQgYmUgaW50ZXJlc3Rp bmcgdG8gZGlzY3Vzcw0KIGlmIOKAnHdpdGgtZGVmYXVsdHMmcXVvdDsgcmV0dXJucyBhbGwgb2Yg dGhlIHN5c3RlbSBjb25maWcsIG9yPHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj4mbmJzcDtqdXN0 IHRoZSBwYXJ0cyB0aGF0IGFyZSB1c2VkLCBhc3N1bWluZyB3ZSBkZWZpbmUmbmJzcDvigJx1c2Vk 4oCdJm5ic3A7YXBwcm9wcmlhdGVseS4gJm5ic3A7Jm5ic3A7UHJlc3VtYWJseSBzeXN0ZW0tZGVm aW5lZCBvcmRlcmVkLWxpc3QgZW50cmllcyBjYW5ub3QgYmUgb3JkZXJlZCBieSB1c2VyLCBvciB1 c2VkIGFzIGJlZm9yZS9hZnRlciBwaXZvdHMuPC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48 bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+V2UgY291bGQgZXZlbiBkbyBib3RoOiBoYXZlIGEg cmVhZC1vbmx5ICZsdDtzeXN0ZW0mZ3Q7IGRhdGFzdG9yZSAqYW5kKiBhJm5ic3A7PHNwYW4gc3R5 bGU9ImNvbG9yOmJsYWNrIj4mcXVvdDt3aXRoLXN5c3RlbSZxdW90Ozwvc3Bhbj4mbmJzcDtpbnRl cmFjdGlvbiBBUEkuJm5ic3A7IEVhY2ggY29tcGxpbWVudGluZyB0aGUgb3RoZXIuPG86cD48L286 cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVv dGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+ Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rp dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+SSBwcmVm ZXIgbmVpdGhlci48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+SSB0aGluayBOTURBICZsdDtnZXQtZGF0 YSZndDsgd2l0aCBhbiBvcmlnaW4tZmlsdGVyIGFuZC9vciB3aXRoLW9yaWdpbiBwYXJhbWV0ZXIg YWxyZWFkeSBzb2x2ZXMgdGhpcyBwcm9ibGVtLiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48 bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0K PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPkFu ZHk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9k aXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0ND Q0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21h cmdpbi1yaWdodDowY20iPg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+ DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+ RldJVywgYSAmcXVvdDt3aXRoLXN5c3RlbSZuYnNwOzxzcGFuIHN0eWxlPSJjb2xvcjpibGFjayI+ Jmx0O3J1bm5pbmcmZ3Q7PC9zcGFuPuKAnSBzdGlsbCBtYXkgbm90IHBhc3MgdmFsaWRhdGlvbiBp ZiwgZS5nLiwgdGVtcGxhdGVzIG5lZWQgdG8gYmUgZXhwYW5kZWQuJm5ic3A7IE9mIGNvdXJzZSwg YW55IGNvbnRyb2xsZXIvb3JjaGVzdHJhdG9yIGNhbiBleHBhbmQgdGhlIHRlbXBsYXRlcyB0aGVt c2VsdmVzIHRvIHJlc29sdmUNCiB0aGF0IGNvbmNlcm4uJm5ic3A7IFN1Y2ggYSBzeXN0ZW0gY291 bGQgYWxzbyBmZXRjaCAmbHQ7c3lzdGVtJmd0OyB3aXRob3V0IHNraXBwaW5nIGEgYmVhdC48bzpw PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8 ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPlRob3VnaHQgZXhl cmNpc2U6IGEgY29udHJvbGxlciBpcyBtYW5hZ2luZyAxMDAwIGVuZHBvaW50cyBhbGwgcnVubmlu ZyB0aGUgc2FtZSBzb2Z0d2FyZSB2ZXJzaW9uLiZuYnNwOyBJcyBpdCBiZXR0ZXIgZm9yIHRoZSBj b250cm9sbGVyIHRvIGdldCAmcXVvdDt3aXRoLXN5c3RlbSZuYnNwOzxzcGFuIHN0eWxlPSJjb2xv cjpibGFjayI+Jmx0O3J1bm5pbmcmZ3Q7PC9zcGFuPuKAnSAxMDAwIHRpbWVzLCBvciBnZXQgJmx0 O3N5c3RlbSZndDsNCiBvbmNlIGFuZCBoYXZlIGtub3dsZWRnZSBmb3IgaG93IGl0cyBtZXJnZWQg aW4/PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwv ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5LLjxv OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi PjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4N CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJz cDs8L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0K PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNw OzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxv Y2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg== --_000_b4ead22f31c44b5296e51138befd6816huaweicom_-- From nobody Mon Aug 2 21:15:36 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 286063A1032 for ; Mon, 2 Aug 2021 21:15:34 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.899 X-Spam-Level: X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=jacobsuniversity.onmicrosoft.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id k8atgnV_gRpe for ; Mon, 2 Aug 2021 21:15:29 -0700 (PDT) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10073.outbound.protection.outlook.com [40.107.1.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1C7853A1030 for ; Mon, 2 Aug 2021 21:15:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WwQWsLusYvPT/o+jJy2Rlyj8ekFYrzxoQA2rxtmymaYUn5S0UUCAG1SfCgLEkdXo1tsRLtGjEHXRzVyzciEj/pCpA6TA80DF1yOFPrpBJzMldkiBsRFO+2eIMrI9Kbjt7nv77T2oYhFO8pWb/BYv85FYKaT8i3iSUXRnr4A/SUvu+HfgQ+sni4/0Xfvkz7EvIbtigfFROiKXizIHV7D1jhMpQ5WRl57Qbto9aIBRikCMKNcX9jy8C/G7LRT9nbnTNK/17BPiOWIld6sFpiOYxTETSmKyxZfULO2PLLEMBCfTAtzIaj05mgNq6fgGWdEY9jwGf8uaBJIA4qrHUOpAbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=42wCG6rxOUvvE1U1HplNlbkrQ1eTsLIYeY97+bILzsI=; b=cOyTQ/eu8eomZokBrnnk6v9EpSzczk1hV0K4ZofuCyAmBfvAis1HnaGTt5/5GVP8/WEJoUcgZi9dtQB32zqdfF7klmKmSHGGmVEE4KoidpjJK2nE7FoF7P3r/wr5PjBIfWRXbfFGwqn9YeMmbpn/BndzXxHIZUv6VtTY0KRSLLP/fI+j3uM3xhbMjY/qEuNMLq38Ha41mTKSLIXkqrGQ5bvrExbcVqsRnQQgssd2SAOJEzE1yqLH9HecRcjcSUaBvo1BkLxEGyC72zfE3qjxuZW4WlV4xhG9CtrXMmhHYQsKZ3rM1HBHhrCKDR5fxKZbHnriVyKpUOR773R59TUmNA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jacobs-university.de; dmarc=pass action=none header.from=jacobs-university.de; dkim=pass header.d=jacobs-university.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jacobsuniversity.onmicrosoft.com; s=selector2-jacobsuniversity-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=42wCG6rxOUvvE1U1HplNlbkrQ1eTsLIYeY97+bILzsI=; b=CDDSju9OL5uKbncOGF2+G8ng8GPxBW188uMdJ4eGeNFW4C4qElqG8Eanwi2bus5D6cdVmI7PsDjEGEkwW2x2CWeQJLTP4kK9tuV18oZWnM3qOIC/g/8sBjQBWdEDHVQqpddQIFDoNR0jbQhDi8IpPYHRsneJIhyP78C13OcfbfU= Authentication-Results: huawei.com; dkim=none (message not signed) header.d=none;huawei.com; dmarc=none action=none header.from=jacobs-university.de; Received: from AM0P190MB0641.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:194::23) by AM9P190MB1249.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:266::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Tue, 3 Aug 2021 04:15:25 +0000 Received: from AM0P190MB0641.EURP190.PROD.OUTLOOK.COM ([fe80::58c1:599a:1d3d:cdeb]) by AM0P190MB0641.EURP190.PROD.OUTLOOK.COM ([fe80::58c1:599a:1d3d:cdeb%9]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021 04:15:25 +0000 Date: Tue, 3 Aug 2021 06:15:23 +0200 From: =?utf-8?B?SsO8cmdlbiBTY2jDtm53w6RsZGVy?= To: "Fengchong (frank)" Cc: Andy Bierman , Kent Watsen , =?utf-8?Q?Bal=C3=A1zs?= Lengyel , "netmod@ietf.org" Message-ID: <20210803041523.vpq2ltompplxn53p@anna.jacobs.jacobs-university.de> Reply-To: Juergen Schoenwaelder Mail-Followup-To: "Fengchong (frank)" , Andy Bierman , Kent Watsen , =?utf-8?Q?Bal=C3=A1zs?= Lengyel , "netmod@ietf.org" References: <2d1262bc90fc49d08eb641365b959ea4@huawei.com> <0100017aab854793-eb989e55-8496-451b-84de-7f17cb0720d5-000000@email.amazonses.com> <0100017aee17493f-6b9b747c-f0f1-4a70-b929-aaa0350a555f-000000@email.amazonses.com> <0100017b08feb7ef-71cbbcaa-256f-4947-ab27-9fdd40f2993a-000000@email.amazonses.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-ClientProxiedBy: PR1P264CA0016.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19e::21) To AM0P190MB0641.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:194::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost (212.201.44.244) by PR1P264CA0016.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15 via Frontend Transport; Tue, 3 Aug 2021 04:15:24 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a9e68b99-e0cf-4226-57be-08d956355170 X-MS-TrafficTypeDiagnostic: AM9P190MB1249: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RJl0PIgEk70uaRZw7h/SNbfbdD//2xpXhOZ+YQiUR0xtCqB6JoDH8EdFeqxM2WZFyHnLE5LfHlSM6TR80kXzOZU9DOLesuoOKyZnQbhiEe8RDVxEdLpVT4J6CA2my269Z22xQqrfbX5d8MPIj97heoiJJfSo7B3N9wjWRARz9jV945AbyMU10oLypi4pUwx95aW3kC/FVENmIYnalGGY+WbgQKEebrjQqMf3HJCZdp3JI4RLGKZc0MCBX6cSyFqiA6CWCxJlzI+bWUWNH4rYgR4oL8pUgSrpY7v9UbkFF0skzYUi2DytLdIL/V0oAf1AmFB8l47B1GYhnKDscGinYITJbg79+Dug9r8c5b+/OgQMk6Y0F/+T6poToPksdTikw5lqajHLKWXdJGHO08XY4fPF4vMQTwsUfOadD5FYa0y8KmeWu1/woDrPAZcBH8a2VfkTQ96fWFwlfF71DppzjE2cSNgGSeFhAOU4lxjou1VOx94P5Ck88sSslWtKBk4rVr0oVRTTWhgHYy+9L3USCmLzPjzdShMjc0Velk9HX9OM9Iag9AOueDdip96ah2eYjiRE0xshmUT7tSFavZpS+YRzxgPCSmTS2irZAu44BMcxCDqna3Yq22ev5w3aEyYdT4EEQQ5D235ctCTUifA5mPmddXkOXjtuZRpuy2CkOaScBi8QZHUF7vhbibAmc8jNP6q6tTROyODxyPKyBTbOvtq0MADN2ayw+1zXjCMF8tHcV132+usLcj3+3O+3V6dBTCDlUUjViyhYcSQQ09kOj42Y/BNh4GmGemYiXCMg0Kw= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0P190MB0641.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(396003)(39830400003)(346002)(376002)(366004)(136003)(186003)(2906002)(26005)(52116002)(6496006)(1076003)(956004)(54906003)(316002)(786003)(8936002)(38350700002)(3450700001)(83380400001)(38100700002)(224303003)(85202003)(478600001)(66946007)(6486002)(86362001)(66556008)(66476007)(4326008)(5660300002)(85182001)(6916009); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YXNKVk9UZDlHZk1LUVI0WjlqUXQ2c0xyNE5RcjFxeTczcHE5Wjl5aVJmaWJQ?= =?utf-8?B?emltVXlLbE9HSWUyU0dOODFTYnI5R0FyekUzRnc5VEFWOGNpaG9VTEFlQzN5?= =?utf-8?B?cHROZkRYZ1lQS0ExOGMwU1h3QWZ4YkdQMU9NcnpPYUl4QnZTK1hwTXN1Qmto?= =?utf-8?B?YTZlTm16djNwUWxDdkJyb05VUWZNaWNLUjBuOWx3MWFFVkYyVmEwRjFuelBH?= =?utf-8?B?NkRPRWZZYkVOYjNwc2czelZkczZCTlV6ZTNoVGZ0ZFUwNzBuTlFLMVp0K24y?= =?utf-8?B?cEhVTGpucDBxTzZ5R1lCNTAxZVR2TzloSytIRjJuZ1FnSzllVmM2V2h0SS9v?= =?utf-8?B?dUdITnB3Q28xVkNBelUzR0t6SWRLN3JWRjlveEt4ZGk0N2xNVEtyOHVDSmZw?= =?utf-8?B?RUdmaW1Lc1FFanJRR2tIaUYwZCtiejlERU5qTFhTSEpzRHpXWnRCZjdRRW1T?= =?utf-8?B?ankzdEFaUnlXYkxPbDdpMFNOakZiTll1NjI3QmpSNXQ1cTdnZnc2eFVraEU1?= =?utf-8?B?WUowcXFjaWlPb1RlUTZsY3Q1Z1RQMkFYQnBoQmMzaldaTUpZV3dReDYwMkZs?= =?utf-8?B?SEErcUszR0hya2U4QVdzaDJLTThiUEg5cEV4TWJpUFdyRGE5S2o0dEdDdDJt?= =?utf-8?B?dHYrRWdzZDZUQ2RYRTZaS0o1QWo5WDUwNFZKQ2dHVjJKdFRRK0VRcGp5M3JH?= =?utf-8?B?Q1NDY1lTTGFXKy9vZVk1cXcyWGErcDNMaVpJamlnTWxiVm1BTDM2QWpSTU9l?= =?utf-8?B?UndJUmZyVERqQzFmUU44WDRGK2YxNWhYN2FMQUF6RmNPUjhqamNvWFZ4a2x0?= =?utf-8?B?YlNrOXQ3UW01V1pySm0vTlNPV0xaVUJ6NEVpMy85VHBtQUxUUWVETmZEYUpp?= =?utf-8?B?cGNaVEkrOWZNTHFhR1F3R2dUaCtXVWhTYTJtb1g4NE40bzZ4OTcvcDNnOUdW?= =?utf-8?B?YVM3ZXgrUjExQWFVQ1BnL05rQWF3RUljcGZkTncwdGpWUFlpSE8wVkk3OExN?= =?utf-8?B?QS9MdVNGaDlRODk5V2ZFSjJZbDNzbFRQdW5ka1VIdGY3QTVRREdsUzFPa2lW?= =?utf-8?B?WnQwSThlaFF5UFYzaFJzUTEwWjN1UnNTUkZkQm4vMmlJWXZ4V2VXUEdUcGNU?= =?utf-8?B?dlJFTVlOWmZlUXJPSi9NZlRFaWlWRGtVNXoxZDB4QmMwSU44ak1waHh3VHMv?= =?utf-8?B?MitTU0NQVmJqT2VLeUtJK1lpREhJbFZ6aER4cHlsZWRHdHVmZ2I5S2xmZTJG?= =?utf-8?B?YmdKMVN1VmtJVW1mbVNvVndXemM3Qk93NzhzbGdTL3cwbWtRZVRWZDg4bXh1?= =?utf-8?B?aStGRUpvZ2dtTm4vUkQxWVM1c0NEK2JHS2VrM01lZEZaanJZeWdodzN3ZHBu?= =?utf-8?B?ZG1WMlI0OXJ0NVc2M3pzOE5IMldBL2lvc1pMdjVFZmZXQlI3RDJSOXd0UGhT?= =?utf-8?B?YXdXdkhldWdwOUEzVDVXRURsZFNxT1h1ejBrNXBNZ3hIQkdvTklrZmVrK1Ez?= =?utf-8?B?blUwUHJKRUQzeG11NE9WQU1na21nMXlGaWVYVVZDbGxvMVhUOEhQZC82ZjlU?= =?utf-8?B?S08yeGZIMTR0NWR4eVIyY1JVY2VVbmxnOHBGbU9ncnNzdmNRRDFRcG83YlVZ?= =?utf-8?B?d0RBcmo2ZGY3NjU5QU14aXJQMlBncll4SG1MSEtVdHo0ZmZiWUNzY29QVGNh?= =?utf-8?B?bFlwSjR3U083VFl0elpvUDRYQ3lCeTFqSTY0eFl2SGZvbnpOVFUxQ3BOK3Nw?= =?utf-8?Q?cJGQgJjszTURTM+l0XBCDrRh6TVN7UoDk+Y4rvv?= X-OriginatorOrg: jacobs-university.de X-MS-Exchange-CrossTenant-Network-Message-Id: a9e68b99-e0cf-4226-57be-08d956355170 X-MS-Exchange-CrossTenant-AuthSource: AM0P190MB0641.EURP190.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 04:15:25.0910 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f78e973e-5c0b-4ab8-bbd7-9887c95a8ebd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 42uF1gkwJuJPgSAnpumDDbDyqEofH6u6lARiS5Badm2/m5KjFekC9POYgw+hHsN2CiH4dFhGEKYvw9y4EY45PVe3piJfEkGYyk3BmnAqRoc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9P190MB1249 Archived-At: Subject: Re: [netmod] =?utf-8?b?562U5aSNOiBzeXN0ZW0gY29uZmlndXJhdGlvbiBzeW5j?= =?utf-8?q?_mechanism?= X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2021 04:15:34 -0000 On Tue, Aug 03, 2021 at 01:45:40AM +0000, Fengchong (frank) wrote: > Hi andy and all. > > I don’t think get-data with origin can solve the issues below: > > > 1. Some leafs like interface type CAN NOT be modified by user, but can be referenced by other config nodes(e.g. using leafref or occur in when/must). The validation will be fail if these leafs are not be configured by user now explicitly (we assume these leafs are optional and no default value). The interface type in the RFC 8343 module is config true. YANG does not allow you to refer to config false nodes in constraints that apply to config true nodes. A core principle is that the content of a configuration datastore can be validated without knowing the actual state of the system. > 2. Some instances are generated by system, but these instances can be referenced by other config nodes. The validation must be fail if these instances are not be recreated by user explicitly now. Yes, a configuration datastore is self-contained. If a client wants to configure the interface x, it has to define the interface x in the configuration. Note that this should not be confused with a system generating an interface x after probing the hardware. Note the difference between operational state, applied config, and running config. Let me add that the underlying model is that the client(s) have control over the configuration. A system making ad-hoc changes to the config (even with the best intentions) will be surprising. In this model, the only way to inject config into running on system boot is to have a client making changes to running following the normal procedures - at least conceptually. This means that conceptually the other clients need to be aware that there is a system client injecting configuration. If you follow this logic, it seems wrong to define a system datastore that is somehow magically merged into running - and it is not needed. > 3. User may need know what the original system configuration is, if we get data from , you may get the modified system configuration.(for example, user modify or template is expanded, or only active instances) If you have multiple clients managing shared configuration, then yes it is good if they are aware of what is going on. I am not sure yet that exposing other clients intentions via additional datastores and defining merge mechanisms and semantics is the way to go. > I don’t care about whether system datastore is imported to running or intended datastores. But I think if a config node reference a system node, the validation (running or intended datastores) will be successful even if the system node is not configured by user explicitly. I am concerned about having to define what "is imported" means precisely and whether moving to a model multiple datastores have to be merged before validation is the way to go. We already acknowledged that there are template expansions in some implementations without working out how they work. > Especially on the client side, if a client need validate all data retrieved from server, the validation SHOULD be successful. If system configuration are not imported to running, at a minimum, the client needs to know what the original system configuration is. Another way is adding with-system-used parameter to get-config operation to retrieved all user configuration and system configuration referenced by user configuration. Let me repeat, in the original model, the running configuration datastore is self-contained and can be validated without knowing additional datastores. /js -- Juergen Schoenwaelder Jacobs University Bremen gGmbH Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany Fax: +49 421 200 3103 From nobody Tue Aug 3 00:34:25 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DA5CA3A17E5 for ; Tue, 3 Aug 2021 00:34:23 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.897 X-Spam-Level: X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x1oJnXxIQ8x7 for ; Tue, 3 Aug 2021 00:34:18 -0700 (PDT) Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 888D23A17DC for ; Tue, 3 Aug 2021 00:34:18 -0700 (PDT) Received: from fraeml737-chm.china.huawei.com (unknown [172.18.147.226]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Gf67d1LPFz6BBTb; Tue, 3 Aug 2021 15:34:05 +0800 (CST) Received: from dggpemm500002.china.huawei.com (7.185.36.229) by fraeml737-chm.china.huawei.com (10.206.15.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Tue, 3 Aug 2021 09:34:14 +0200 Received: from dggpemm500003.china.huawei.com (7.185.36.56) by dggpemm500002.china.huawei.com (7.185.36.229) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Tue, 3 Aug 2021 15:34:12 +0800 Received: from dggpemm500003.china.huawei.com ([7.185.36.56]) by dggpemm500003.china.huawei.com ([7.185.36.56]) with mapi id 15.01.2176.012; Tue, 3 Aug 2021 15:34:12 +0800 From: "Fengchong (frank)" To: Juergen Schoenwaelder CC: Andy Bierman , Kent Watsen , =?utf-8?B?QmFsw6F6cyBMZW5neWVs?= , "netmod@ietf.org" Thread-Topic: =?utf-8?B?W25ldG1vZF0g562U5aSNOiAgc3lzdGVtIGNvbmZpZ3VyYXRpb24gc3luYyBt?= =?utf-8?Q?echanism?= Thread-Index: AQHXiB5IYCPxAV321kuwEVMa26ur36thWjqw Date: Tue, 3 Aug 2021 07:34:12 +0000 Message-ID: References: <2d1262bc90fc49d08eb641365b959ea4@huawei.com> <0100017aab854793-eb989e55-8496-451b-84de-7f17cb0720d5-000000@email.amazonses.com> <0100017aee17493f-6b9b747c-f0f1-4a70-b929-aaa0350a555f-000000@email.amazonses.com> <0100017b08feb7ef-71cbbcaa-256f-4947-ab27-9fdd40f2993a-000000@email.amazonses.com> <20210803041523.vpq2ltompplxn53p@anna.jacobs.jacobs-university.de> In-Reply-To: <20210803041523.vpq2ltompplxn53p@anna.jacobs.jacobs-university.de> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.136.113.80] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected Archived-At: Subject: [netmod] =?utf-8?b?562U5aSNOiAg562U5aSNOiAgc3lzdGVtIGNvbmZpZ3Vy?= =?utf-8?q?ation_sync_mechanism?= X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2021 07:34:24 -0000 SGkganVlcmdlbiwNCiAgUGxlYXNlIHNlZSBteSBjb21tZW50cyBpbmxpbmUuDQoNCiAgL2ZyYW5r DQoNCi0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCuWPkeS7tuS6ujogSsO8cmdlbiBTY2jDtm53w6Rs ZGVyIFttYWlsdG86ai5zY2hvZW53YWVsZGVyQGphY29icy11bml2ZXJzaXR5LmRlXSANCuWPkemA geaXtumXtDogMjAyMeW5tDjmnIgz5pelIDEyOjE1DQrmlLbku7bkuro6IEZlbmdjaG9uZyAoZnJh bmspIDxmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4NCuaKhOmAgTogQW5keSBCaWVybWFuIDxh bmR5QHl1bWF3b3Jrcy5jb20+OyBLZW50IFdhdHNlbiA8a2VudCtpZXRmQHdhdHNlbi5uZXQ+OyBC YWzDoXpzIExlbmd5ZWwgPGJhbGF6cy5sZW5neWVsPTQwZXJpY3Nzb24uY29tQGRtYXJjLmlldGYu b3JnPjsgbmV0bW9kQGlldGYub3JnDQrkuLvpopg6IFJlOiBbbmV0bW9kXSDnrZTlpI06IHN5c3Rl bSBjb25maWd1cmF0aW9uIHN5bmMgbWVjaGFuaXNtDQoNCk9uIFR1ZSwgQXVnIDAzLCAyMDIxIGF0 IDAxOjQ1OjQwQU0gKzAwMDAsIEZlbmdjaG9uZyAoZnJhbmspIHdyb3RlOg0KPiBIaSBhbmR5IGFu ZCBhbGwuDQo+IA0KPiBJIGRvbuKAmXQgdGhpbmsgZ2V0LWRhdGEgd2l0aCBvcmlnaW4gY2FuIHNv bHZlIHRoZSBpc3N1ZXMgYmVsb3c6DQo+IA0KPiANCj4gMS4gICAgICAgU29tZSBsZWFmcyBsaWtl IGludGVyZmFjZSB0eXBlIENBTiBOT1QgYmUgbW9kaWZpZWQgYnkgdXNlciwgYnV0IGNhbiBiZSBy ZWZlcmVuY2VkIGJ5IG90aGVyIGNvbmZpZyBub2RlcyhlLmcuIHVzaW5nIGxlYWZyZWYgb3Igb2Nj dXIgaW4gd2hlbi9tdXN0KS4gVGhlIHZhbGlkYXRpb24gd2lsbCBiZSBmYWlsIGlmIHRoZXNlIGxl YWZzIGFyZSBub3QgYmUgY29uZmlndXJlZCBieSB1c2VyIG5vdyBleHBsaWNpdGx5ICh3ZSBhc3N1 bWUgdGhlc2UgbGVhZnMgYXJlIG9wdGlvbmFsIGFuZCBubyBkZWZhdWx0IHZhbHVlKS4NCg0KVGhl IGludGVyZmFjZSB0eXBlIGluIHRoZSBSRkMgODM0MyBtb2R1bGUgaXMgY29uZmlnIHRydWUuIFlB TkcgZG9lcyBub3QgYWxsb3cgeW91IHRvIHJlZmVyIHRvIGNvbmZpZyBmYWxzZSBub2RlcyBpbiBj b25zdHJhaW50cyB0aGF0IGFwcGx5IHRvIGNvbmZpZyB0cnVlIG5vZGVzLiBBIGNvcmUgcHJpbmNp cGxlIGlzIHRoYXQgdGhlIGNvbnRlbnQgb2YgYSBjb25maWd1cmF0aW9uIGRhdGFzdG9yZSBjYW4g YmUgdmFsaWRhdGVkIHdpdGhvdXQga25vd2luZyB0aGUgYWN0dWFsIHN0YXRlIG9mIHRoZSBzeXN0 ZW0uDQogDQpGcmFuazogeWVzLCBpbnRlcmZhY2UgdHlwZSBpcyBhIGNvbmZpZyBub2RlLCBidXQg aXQgaXNuJ3QgYWxsb3cgdG8gYmUgbW9kaWZpZWQuIElmIGEgY29uZmlnIG5vZGUgcmVmZXJlbmNl IGlmLXR5cGUsIGluIG9yZGVyIHRvIHZhbGlkYXRlIGRhdGEgc3VjY2Vzc2Z1bGx5ICx1c2VyIG11 c3QgaGF2ZSB0byBjb25maWcgaWYtdHlwZSB3aXRoIGRldGVybWluZWQgdmFsdWUgYWdhaW4uIEZv ciBleGFtcGxlLCB1c2VyIG11c3QgY29uZmlnIGlmLXR5cGUgd2l0aCAnZXRoZXJuZXQnIGZvciBl dGhlcm5ldDAvMC8xLiBJIGRvbid0IHRoaW5rIGl0IG1ha2VzIHNlbnNlLiBUaGUgaWYtdHlwZSBo YXMgYmVlbiBjcmVhdGVkIGJ5IHN5c3RlbSwgd2hlbiBydW5uaW5nIGNvbmZpZyBpcyBtZXJnZWQg dG8gPG9wZXJhdGlvbmFsPiwgaXQgY2FuIHdvcmsgYW5kIHRoZSB2YWxpZGF0aW9uIGlzIHN1Y2Nl c3NmdWwuIElmIHlvdSB0aGluayBydW5uaW5nIGRhdGFzdG9yZSBpcyBzZWxmLWNvbnRhaW5lZCwg SSB3aWxsIHRoaW5rIHRoZSBzeXN0ZW0gY29uZmlndXJhdGlvbiBzaG91bGQgYmUgaW1wb3J0ZWQg dG8gcnVubmluZyBkYXRhc3RvcmUgYXV0b21hdGljYWxseSB0byBlbnN1cmUgc3VjY2Vzc2Z1bCB2 YWxpZGF0aW9uDQoNCj4gMi4gICAgICAgU29tZSBpbnN0YW5jZXMgYXJlIGdlbmVyYXRlZCBieSBz eXN0ZW0sIGJ1dCB0aGVzZSBpbnN0YW5jZXMgY2FuIGJlIHJlZmVyZW5jZWQgYnkgb3RoZXIgY29u ZmlnIG5vZGVzLiBUaGUgdmFsaWRhdGlvbiBtdXN0IGJlIGZhaWwgaWYgdGhlc2UgaW5zdGFuY2Vz IGFyZSBub3QgYmUgcmVjcmVhdGVkIGJ5IHVzZXIgZXhwbGljaXRseSBub3cuDQoNClllcywgYSBj b25maWd1cmF0aW9uIGRhdGFzdG9yZSBpcyBzZWxmLWNvbnRhaW5lZC4gSWYgYSBjbGllbnQgd2Fu dHMgdG8gY29uZmlndXJlIHRoZSBpbnRlcmZhY2UgeCwgaXQgaGFzIHRvIGRlZmluZSB0aGUgaW50 ZXJmYWNlIHggaW4gdGhlIGNvbmZpZ3VyYXRpb24uIE5vdGUgdGhhdCB0aGlzIHNob3VsZCBub3Qg YmUgY29uZnVzZWQgd2l0aCBhIHN5c3RlbSBnZW5lcmF0aW5nIGFuIGludGVyZmFjZSB4IGFmdGVy IHByb2JpbmcgdGhlIGhhcmR3YXJlLiBOb3RlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gb3BlcmF0 aW9uYWwgc3RhdGUsIGFwcGxpZWQgY29uZmlnLCBhbmQgcnVubmluZyBjb25maWcuDQoNCkZyYW5r OiBmb3IgZXhhbXBsZSAsIHByZWRlZmluZWQgcG9saWNpZXMgYXJlIHByb3ZpZGVkIGJ5IHN5c3Rl bSwgdXNlciBjb25maWd1cmF0aW9uIGNhbiByZWZlcmVuY2UgdGhlc2UgcHJlZGVmaW5lZCBwb2xp Y3kgZGlyZWN0bHkuIGJ1dCBiZWNhdXNlIHByZWRlZmluZWQgcG9saWNpZXMgYXJlIG5vdCBjb25m aWd1cmVkIGJ5IHVzZXIgZXhwbGljaXRseSwgdGhlIHZhbGlkYXRpb24gd2lsbCBiZSBmYWlsLiBJ ZiB5b3Ugd2FudCB0byBnZXQgYSBzdWNjZXNzZnVsIHZhbGlkYXRpb24gLCB1c2VyIE1VU1QgaGF2 ZSB0byByZWRlZmluZWQgdGhlIHN5c3RlbSBwcmVkZWZpbmVkIHBvbGljaWVzLg0KU28sIHN5c3Rl bSBwcmVkZWZpbmVkIGRhdGEgYXJlIHVzZWxlc3MuIEkgdGhpbmsgaXQgaXMgdW5yZWFzb25hYmxl Lg0KDQoNCg0KTGV0IG1lIGFkZCB0aGF0IHRoZSB1bmRlcmx5aW5nIG1vZGVsIGlzIHRoYXQgdGhl IGNsaWVudChzKSBoYXZlIGNvbnRyb2wgb3ZlciB0aGUgY29uZmlndXJhdGlvbi4gQSBzeXN0ZW0g bWFraW5nIGFkLWhvYyBjaGFuZ2VzIHRvIHRoZSBjb25maWcgKGV2ZW4gd2l0aCB0aGUgYmVzdCBp bnRlbnRpb25zKSB3aWxsIGJlIHN1cnByaXNpbmcuIEluIHRoaXMgbW9kZWwsIHRoZSBvbmx5IHdh eSB0byBpbmplY3QgY29uZmlnIGludG8gcnVubmluZyBvbiBzeXN0ZW0gYm9vdCBpcyB0byBoYXZl IGEgY2xpZW50IG1ha2luZyBjaGFuZ2VzIHRvIHJ1bm5pbmcgZm9sbG93aW5nIHRoZSBub3JtYWwg cHJvY2VkdXJlcyAtIGF0IGxlYXN0IGNvbmNlcHR1YWxseS4gVGhpcyBtZWFucyB0aGF0IGNvbmNl cHR1YWxseSB0aGUgb3RoZXIgY2xpZW50cyBuZWVkIHRvIGJlIGF3YXJlIHRoYXQgdGhlcmUgaXMg YSBzeXN0ZW0gY2xpZW50IGluamVjdGluZyBjb25maWd1cmF0aW9uLg0KDQpJZiB5b3UgZm9sbG93 IHRoaXMgbG9naWMsIGl0IHNlZW1zIHdyb25nIHRvIGRlZmluZSBhIHN5c3RlbSBkYXRhc3RvcmUg dGhhdCBpcyBzb21laG93IG1hZ2ljYWxseSBtZXJnZWQgaW50byBydW5uaW5nIC0gYW5kIGl0IGlz IG5vdCBuZWVkZWQuDQoNCkZyYW5rOiBzeXN0ZW0gY29uZmlndXJhdGlvbiBub3Qgb25seSBpbmNs dWRlcyBzb21lIGluc3RhbmNlcyBnZW5lcmF0ZWQgb24gcmVib290IHRpbWUsIGJ1dCBhbHNvIGlu Y2x1ZGVzIHRoZSBjb25maWd1cmF0aW9uIHdoZW4gaGFyZHdhcmUgaXMgcGx1Z2dlZCBpbiwgb3Ig YSBmdW5jdGlvbiBpcyBlbmFibGVkIChmb3IgZXhhbXBsZSwgaW4gaHVhd2VpJ3MgaW1wbGVtZW50 YXRpb24sIHdoZW4gUU9TIGZ1bmN0aW9uIGlzIGVuYWJsZWQsIG1hbnkgcW9zIHByZWRlZmluZWQg cG9saWNpZXMgYXJlIGNyZWF0ZWQgYnkgc3lzdGVtKSBvciBhIHVzZXItY3JlYXRlZCBsaXN0IGlu c3RhbmNlIGlzIGNyZWF0ZWQsIHNvbWUgbGVhZnMnIHZhbHVlIHdpbGwgYmUgY3JlYXRlZCBieSBz eXN0ZW0uIFNvICwgd2UgbmVlZCBhIHN5c3RlbSBkYXRhc3RvcmUgdG8gaG9sZCB0aGVzZSBjb25m aWd1cmF0aW9uLg0KDQo+IDMuICAgICAgIFVzZXIgbWF5IG5lZWQga25vdyB3aGF0IHRoZSBvcmln aW5hbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBpcywgaWYgd2UgZ2V0IGRhdGEgZnJvbSA8b3BlcmF0 aW9uYWw+LCB5b3UgbWF5IGdldCB0aGUgbW9kaWZpZWQgc3lzdGVtIGNvbmZpZ3VyYXRpb24uKGZv ciBleGFtcGxlLCB1c2VyIG1vZGlmeSBvciB0ZW1wbGF0ZSBpcyBleHBhbmRlZCwgb3Igb25seSBh Y3RpdmUgaW5zdGFuY2VzKQ0KDQpJZiB5b3UgaGF2ZSBtdWx0aXBsZSBjbGllbnRzIG1hbmFnaW5n IHNoYXJlZCBjb25maWd1cmF0aW9uLCB0aGVuIHllcyBpdCBpcyBnb29kIGlmIHRoZXkgYXJlIGF3 YXJlIG9mIHdoYXQgaXMgZ29pbmcgb24uIEkgYW0gbm90IHN1cmUgeWV0IHRoYXQgZXhwb3Npbmcg b3RoZXIgY2xpZW50cyBpbnRlbnRpb25zIHZpYSBhZGRpdGlvbmFsIGRhdGFzdG9yZXMgYW5kIGRl ZmluaW5nIG1lcmdlIG1lY2hhbmlzbXMgYW5kIHNlbWFudGljcyBpcyB0aGUgd2F5IHRvIGdvLg0K DQo+IEkgZG9u4oCZdCBjYXJlIGFib3V0IHdoZXRoZXIgc3lzdGVtIGRhdGFzdG9yZSBpcyBpbXBv cnRlZCB0byBydW5uaW5nIG9yIGludGVuZGVkIGRhdGFzdG9yZXMuIEJ1dCBJIHRoaW5rIGlmIGEg Y29uZmlnIG5vZGUgcmVmZXJlbmNlIGEgc3lzdGVtIG5vZGUsIHRoZSB2YWxpZGF0aW9uIChydW5u aW5nIG9yIGludGVuZGVkIGRhdGFzdG9yZXMpIHdpbGwgYmUgc3VjY2Vzc2Z1bCBldmVuIGlmIHRo ZSBzeXN0ZW0gbm9kZSBpcyBub3QgY29uZmlndXJlZCBieSB1c2VyIGV4cGxpY2l0bHkuDQoNCkkg YW0gY29uY2VybmVkIGFib3V0IGhhdmluZyB0byBkZWZpbmUgd2hhdCAiaXMgaW1wb3J0ZWQiIG1l YW5zIHByZWNpc2VseSBhbmQgd2hldGhlciBtb3ZpbmcgdG8gYSBtb2RlbCBtdWx0aXBsZSBkYXRh c3RvcmVzIGhhdmUgdG8gYmUgbWVyZ2VkIGJlZm9yZSB2YWxpZGF0aW9uIGlzIHRoZSB3YXkgdG8g Z28uIFdlIGFscmVhZHkgYWNrbm93bGVkZ2VkIHRoYXQgdGhlcmUgYXJlIHRlbXBsYXRlIGV4cGFu c2lvbnMgaW4gc29tZSBpbXBsZW1lbnRhdGlvbnMgd2l0aG91dCB3b3JraW5nIG91dCBob3cgdGhl eSB3b3JrLg0KDQo+IEVzcGVjaWFsbHkgb24gdGhlIGNsaWVudCBzaWRlLCAgaWYgYSBjbGllbnQg bmVlZCB2YWxpZGF0ZSBhbGwgZGF0YSByZXRyaWV2ZWQgZnJvbSBzZXJ2ZXIsIHRoZSB2YWxpZGF0 aW9uIFNIT1VMRCBiZSBzdWNjZXNzZnVsLiBJZiBzeXN0ZW0gY29uZmlndXJhdGlvbiBhcmUgbm90 IGltcG9ydGVkIHRvIHJ1bm5pbmcsIGF0IGEgbWluaW11bSwgdGhlIGNsaWVudCBuZWVkcyB0byBr bm93IHdoYXQgdGhlIG9yaWdpbmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGlzLiBBbm90aGVyIHdh eSBpcyBhZGRpbmcgd2l0aC1zeXN0ZW0tdXNlZCBwYXJhbWV0ZXIgdG8gZ2V0LWNvbmZpZyBvcGVy YXRpb24gdG8gcmV0cmlldmVkIGFsbCB1c2VyIGNvbmZpZ3VyYXRpb24gYW5kIHN5c3RlbSBjb25m aWd1cmF0aW9uIHJlZmVyZW5jZWQgYnkgdXNlciBjb25maWd1cmF0aW9uLg0KDQpMZXQgbWUgcmVw ZWF0LCBpbiB0aGUgb3JpZ2luYWwgbW9kZWwsIHRoZSBydW5uaW5nIGNvbmZpZ3VyYXRpb24gZGF0 YXN0b3JlIGlzIHNlbGYtY29udGFpbmVkIGFuZCBjYW4gYmUgdmFsaWRhdGVkIHdpdGhvdXQga25v d2luZyBhZGRpdGlvbmFsIGRhdGFzdG9yZXMuDQoNCi9qcw0KDQotLSANCkp1ZXJnZW4gU2Nob2Vu d2FlbGRlciAgICAgICAgICAgSmFjb2JzIFVuaXZlcnNpdHkgQnJlbWVuIGdHbWJIDQpQaG9uZTog KzQ5IDQyMSAyMDAgMzU4NyAgICAgICAgIENhbXB1cyBSaW5nIDEgfCAyODc1OSBCcmVtZW4gfCBH ZXJtYW55DQpGYXg6ICAgKzQ5IDQyMSAyMDAgMzEwMyAgICAgICAgIDxodHRwczovL3d3dy5qYWNv YnMtdW5pdmVyc2l0eS5kZS8+DQo= From nobody Tue Aug 3 04:41:32 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E04FE3A200B for ; Tue, 3 Aug 2021 04:41:28 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.895 X-Spam-Level: X-Spam-Status: No, score=-1.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ze-NOjEosHyA for ; Tue, 3 Aug 2021 04:41:24 -0700 (PDT) Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 12CA43A200F for ; Tue, 3 Aug 2021 04:41:24 -0700 (PDT) Received: from fraeml710-chm.china.huawei.com (unknown [172.18.147.201]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4GfCcj3q7Cz6DJjj for ; Tue, 3 Aug 2021 19:41:09 +0800 (CST) Received: from dggeme717-chm.china.huawei.com (10.1.199.113) by fraeml710-chm.china.huawei.com (10.206.15.59) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2176.2; Tue, 3 Aug 2021 13:41:19 +0200 Received: from dggeme770-chm.china.huawei.com (10.3.19.116) by dggeme717-chm.china.huawei.com (10.1.199.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Tue, 3 Aug 2021 19:41:17 +0800 Received: from dggeme770-chm.china.huawei.com ([10.8.68.58]) by dggeme770-chm.china.huawei.com ([10.8.68.58]) with mapi id 15.01.2176.012; Tue, 3 Aug 2021 19:41:17 +0800 From: "maqiufang (A)" To: =?iso-8859-1?Q?Bal=E1zs_Lengyel?= CC: "netmod@ietf.org" Thread-Topic: Comments on draft-ma-netconf-with-system-02 Thread-Index: AdeF/1pqKZkIs+uyRwqKwRPtF511NACFTLOA Date: Tue, 3 Aug 2021 11:41:17 +0000 Message-ID: References: In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.136.123.93] Content-Type: multipart/alternative; boundary="_000_b84a86093e4742e1bf22e6c6bc723215huaweicom_" MIME-Version: 1.0 X-CFilter-Loop: Reflected Archived-At: Subject: Re: [netmod] Comments on draft-ma-netconf-with-system-02 X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2021 11:41:29 -0000 --_000_b84a86093e4742e1bf22e6c6bc723215huaweicom_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, Bal=E1zs, Thanks for the comments, please see my reply inline. P.S. I notice that some of the issues is related to auto-populate operation= from into (e.g., will not delete system configurations w= hich has already been populated into , allow a delete operation an= d reload automatically). Since there are some concerns about auto-populate because it may violate th= e definition of , I think it would be good to further discuss thes= e issues only after the WG reaches a consensus on auto-populate. From: netmod [mailto:netmod-bounces@ietf.org] On Behalf Of Bal=E1zs Lengyel Sent: Sunday, August 1, 2021 12:01 AM To: 'netmod@ietf.org' Subject: [netmod] Comments on draft-ma-netconf-with-system-02 Hello, MAJOR: The purpose of the draft (the purpose of creating a new datastore) should b= e clearly stated. In my view: "There is a need to validate configuration data against data created by the= system." [Qiufang Ma] The purpose of introducing a new datastore to hold all the sys= tem configuration is that, there is a need to validate configuration data a= gainst data created by the system. That is to say, we need a datastore to hold the pure system configuration. = The system configurations present in are those in use. There = exists some system configurations which will not take effect by default unt= il being referenced. They are not present in with a high probability, thus no way = to retrieve. And also because if a system configuration data item is refere= nced or modified explicitly by the operators, it will be present in with its origin value set to be intended rather that system, and the= re is no way to retrieve original system configuration before modification. What is the purpose of system-configuration Use-case A) The system sets some values because it knows what they shall= be. In this case the client must not be allowed to modify these values. We= want to check configuration data against these values. E.g., AcmeHomeRout= er has 5 interfaces called eth0, eth1, eth,2, eth3 and WAN. The client shou= ld not try to add or remove interfaces to this set. Use-case B) The system provides initial values for something that can be= configured in many ways. In this case the client is free to modify the sys= tem-defined values. E.g., an initial set of NACM rules is provided. In this= case any constraints based on the system data are very weak, as the user c= an change the system-data itself. Use-case a) is very interesting and we actually implemented non-standard su= pport for it. I would welcome it in an RFC. I, myself tried to address this in https://github.com/netmod-wg/yang-next/i= ssues/41 Use-case b) IMHO does not require any special support. I will just load the= initial configuration as a last step of a reset, upgrade etc. [Qiufang Ma] The motivation of this work is that the referenced system conf= igurations must be retrieved from and then copied into to make sure a successful validation, which is inconvenient. This appli= es to both use cases. I understand the issue you raised in use case A, but = I am not sure if we should resolve it in this draft. I think it's somethin= g we need to investigate. Can a client remove or change a system-configuration data-node that is auto= matically or manually copied to running/intended? In use-case A) NO. In us= e case B) yes. Allowing some modifications, but not others is IMHO misleading and not acce= ptable. Assuming that additions are OK while delete is not could be incorre= ct if, the absence of some data node is important for the network node. [Qiufang Ma] So are you suggesting that we should not allow system configur= ation modifications even those in the use-case B? Allowing some modificatio= ns but not others seems no harm if the server could convey modifiable infor= mation to the operators so that the operators can distinguish these two use= -cases. Ch.2.2) " should also immediately reset to its factory default stat= e." What is this state? It is undefined. I would rather say: should be= reloaded or recreated. Factory-reset may or may not remove results of an upgrade. [Qiufang Ma] I will make some editorial changes about this, thanks. Ch.3) "Update with the system configuration change" The auto-update should either be allowed to modify running or not, but this= idea of allowing create but not allowing delete is wrong. You may easily h= ave a "must" or "when" statement that checks that something does not exist,= in which case the current proposed behavior can lead to invalid configurat= ion. Also, the current behavior does not state whether a "case" in a choice= statement can be added? If you add one "case" the other is deleted. So, ca= n I add a "case"? [Qiufang Ma] I think the reason for "allowing create but not allowing delet= e" is as you mentioned above, additions are OK while delete is not could be= incorrect if, the absence of some data node is important for the network n= ode. The system should be very careful to delete configurations in since these configurations are likely to have already been modified or re= ferenced. So we choose to remain the deleted system configurations in , some of which may need to be further coped with by the operators. Re= garding the choice statement you mentioned, since only one case should be v= alid and the creation of a node from one case will implicitly delete all no= des from all other cases, if someone adds one case then the system should = delete all other existing nodes defined in other cases, no matter if these = nodes are generated by the system or not. Is this what you had in mind? Ch 3.1 ) "If there exists any conflict, the configuration in the should su= cceed." It is hard to define what is a conflict. E.g. If the user deletes a data no= de, but it comes back when loading system, how do we know if this is a conf= lict because the user deleted it or if this is a new node that we can be fr= eely loaded into running/intended./intended. IMHO one more reason why syste= m-data must not be modified in running/intended; then we don't have this co= nflict. [Qiufang Ma] Here by conflict, I mean when both and are= merged into , the same system configuration data item may hav= e different values(e.g., if the operators modified that system configuratio= n in ). Then the configurations in the (and further prese= nt in ) should be treated as first priority. CH.3.2) Allowing a delete and then automatically reloading it is a very bad= idea. It is misleading for the user that a data node is in place after a s= uccessful delete. Also, after delete, it is reloaded; so, between a success= ful delete and the reloading there is a short interval where the data node = is not present? Dangerous. [Qiufang Ma] I think allowing a delete and then automatically reloading sho= uld be treated as a way to wipe the client configurations which is imposed = on the system configurations. Why don't we have a auto-reload after merge? Either allow Netconf/CLI/Rest= conf to modify such system data or not. A mixed approach is not acceptable. [Qiufang Ma] I think it could be an alternative to have an auto-reload afte= r merge. But not allowing NETCONF/CLI/RESTCONF to modify such system config= urations in seems unreasonable. Ch 5.3.2) So if I have a model Container aaa { Presence aaa; Leaf bbb {} } Where bbb is system data, but aaa is not then the following 2 operations m= ight lead to different results ? IMHO that is not acceptable: - Delete bbb - Replace aaa with an empty aaa container [Qiufang Ma] In auto-populate handling mode, delete operation for a system = configuration(bbb) which is loaded from into should succ= eed. But the deleted data item should be reloaded into immediate= ly if it is still present in the ; The logic is that if the system = detects that some system configuration data item is not present in it should perform the auto-copy operation. So I think replace aaa with an= empty aaa container should also lead to the same result. Best Regards, Qiufang Ma Regards Balazs P.S. I am partly new to the topic, so sorry if I repeat some questions. -- Balazs Lengyel Senior Specialist E= ricsson Hungary Ltd. Mobile: +36-70-330-7909 email: Balazs.Lengyel@ericsson.com --_000_b84a86093e4742e1bf22e6c6bc723215huaweicom_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Hi, Bal=E1zs,

Thanks for the comment= s, please see my reply inline.

P.S. I notice that som= e of the issues is related to auto-populate operation from <system> i= nto <running>(e.g., will not delete system configurations which has a= lready been populated into <running>, allow a delete operation and reload automatically).

Since there are some c= oncerns about auto-populate because it may violate the definition of <ru= nning>, I think it would be good to further discuss these issues only af= ter the WG reaches a consensus on auto-populate.

 

 

From: netmod [ma= ilto:netmod-bounces@ietf.org] On Behalf Of Bal=E1zs Lengyel
Sent: Sunday, August 1, 2021 12:01 AM
To: 'netmod@ietf.org' <netmod@ietf.org>
Subject: [netmod] Comments on draft-ma-netconf-with-system-02

 

Hello,

MAJOR: 

The purpose of the draf= t (the purpose of creating a new datastore) should be clearly stated. In my= view:

“There is a need = to validate configuration data against data created by the system.”

[Qiufang Ma] The= purpose of introducing a new datastore to hold all the system configuratio= n is that, there is a need to validate configuration data against data crea= ted by the system.

That is to say, = we need a datastore to hold the pure system configuration. The system confi= gurations present in <operational> are those in use. There exists som= e system configurations which will not take effect by default until being referenced.

They are not pre= sent in <operational> with a high probability, thus no way to retriev= e. And also because if a system configuration data item is referenced or mo= dified explicitly by the operators, it will be present in <operational> with its origin value set to be intended= rather that system, and there is no way to retrieve original system config= uration before modification.

 

What is the purpose of = system-configuration

Use-case A)   = ; The system sets some values because it knows what they shall be. In = this case the client must not be allowed to modify these values. We want to= check configuration data against these values.  E.g., AcmeHomeRouter has 5 interfaces called eth0, eth1, eth,2, eth3 and WAN. Th= e client should not try to add or remove interfaces to this set.=

Use-case B)   = ; The system provides initial values for something that can be configu= red in many ways. In this case the client is free to modify the system-defi= ned values. E.g., an initial set of NACM rules is provided. In this case any constraints based on the system data are very weak, as th= e user can change the system-data itself.

 

Use-case a) is very int= eresting and we actually implemented non-standard support for it. I would w= elcome it in an RFC.

I, myself tried to addr= ess this in https://github= .com/netmod-wg/yang-next/issues/41

Use-case b) IMHO does n= ot require any special support. I will just load the initial configuration = as a last step of a reset, upgrade etc.

[Qiufang Ma] The= motivation of this work is that the referenced system configurations must = be retrieved from <operational> and then copied into <running> = to make sure a successful validation, which is inconvenient. This applies to both use cases. I understand the issue you raised in use c= ase A, but I am not sure if we should resolve it  in this draft. I thi= nk it’s something we need to investigate.

 

 

Can a client remove or = change a system-configuration data-node that is automatically or manually c= opied to running/intended?  In use-case A) NO. In use case B) yes.

Allowing some modificat= ions, but not others is IMHO misleading and not acceptable. Assuming that a= dditions are OK while delete is not could be incorrect if, the absence of s= ome data node is important for the network node.

[Qiufang Ma] So = are you suggesting that we should not allow system configuration modificati= ons even those in the use-case B? Allowing some modifications but not other= s seems no harm if the server could convey modifiable information to the operators so that the operators can d= istinguish these two use-cases.

 

 

Ch.2.2) “<s= ystem> should also immediately reset to its factory default state.&#= 8221;

What is this state? It is undefined. I w=
ould rather say: <system> should be reloaded or recreated.=

Factory-reset may or ma= y not remove results of an upgrade.

[Qiufang Ma] I w= ill make some editorial changes about this, thanks.

 

Ch.3)

“Update <running> with the sy=
stem configuration change“
The auto-update should either be allowed=
 to modify running or not, but this idea of allowing create but not allowin=
g delete is wrong. You may easily have a “must” or “when&=
#8221; statement that checks that something does not exist, in which case t=
he current proposed behavior can lead to invalid configuration. Also, the c=
urrent behavior does not state whether a “case” in a choice sta=
tement can be added? If you add one “case” the other is deleted=
. So, can I add a “case”?
[Qiufang Ma] I think the reason for “allowi=
ng create but not allowing delete” is as you mentioned above, additio=
ns are OK while delete is not could be incorrect if, the absence of some da=
ta node is important for the network node. The system should be very carefu=
l to delete configurations in <running> since these configurations ar=
e likely to have already been modified or referenced. So we choose to remai=
n the deleted system configurations in <running>, some of which may n=
eed to be further coped with by the operators.  Regarding the choice s=
tatement you mentioned, since only one case should be valid and the creatio=
n of a node from one case will implicitly delete all nodes from all other c=
ases,  if someone adds one case then the system should delete all othe=
r existing nodes defined in other cases, no matter if these nodes are gener=
ated by the system or not. Is this what you had in mind? 
 
Ch 3.1 )
“If there exists any conflict, the =
configuration in the <running> should succeed.”
It is hard to define what is a conflict.=
 E.g. If the user deletes a data node, but it comes back when loading syste=
m, how do we know if this is a conflict because the user deleted it or if t=
his is a new node that we can be freely loaded into running/intended./inten=
ded. IMHO one more reason why system-data must not be modified in running/i=
ntended; then we don’t have this conflict. 
[Qiufang Ma] Here by conflict, I mean when both &=
lt;intended> and <system> are merged into <operational>, the=
 same system configuration data item may have different values(e.g., if the=
 operators modified that system configuration in <running>). Then the=
 configurations in the <running>(and further present in <intended&=
gt;) should be treated as first priority. 
 
CH.3.2) Allowing a delete and then autom=
atically reloading it is a very bad idea. It is misleading for the user tha=
t a data node is in place after a successful delete. Also, after delete, it=
 is reloaded; so, between a successful delete and the reloading there is a =
short interval where the data node is not present? Dangerous.
[Qiufang Ma] I think allowing a delete and then a=
utomatically reloading should be treated as a way to wipe the client config=
urations which is imposed on the system configurations. 
 
Why don’t we have a auto-reload af=
ter merge?  Either allow Netconf/CLI/Restconf to modify such system da=
ta or not. A mixed approach is not acceptable. 
[Qiufang Ma] I think it could be an alternative t=
o have an auto-reload after merge. But not allowing NETCONF/CLI/RESTCONF to=
 modify such system configurations in <running> seems unreasonable.
 
Ch 5.3.2) So if I have a model
Container aaa {
  Presence aaa;
  Leaf bbb {}
}
Where bbb is system data, but aaa is not=
 then  the following 2 operations might lead to different results ? IM=
HO that is not acceptable:
-      &=
nbsp;   Delete bbb
-      &=
nbsp;   Replace aaa with an empty=
 aaa container
[Qiufang Ma] In auto-populate handling mode, dele=
te operation for a system configuration(bbb) which is loaded from <syste=
m> into <running> should succeed. But the deleted data item should=
 be reloaded into <running>  immediately if it is still present =
in the <system>; The logic is that if the system detects that some sy=
stem configuration data item is not present in <running> it should pe=
rform the auto-copy operation. So I think replace aaa with an empty aaa con=
tainer should also lead to the same result.
 
Best Regards,
Qiufang Ma
 

Regards Balazs

 

P.S. I am partly new to= the topic, so sorry if I repeat some questions.

 

--

Balazs Lengyel &nb= sp;            =       Senior Specialist    &nb= sp;            =       Ericsson Hungary Ltd.

Mobile: +36-70-330-= 7909            = ;  email: Balazs.Lengyel@ericsson.com<= /a>

 

--_000_b84a86093e4742e1bf22e6c6bc723215huaweicom_-- From nobody Tue Aug 3 05:33:33 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5910F3A21A6 for ; Tue, 3 Aug 2021 05:33:31 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=jacobsuniversity.onmicrosoft.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id v0HimNgLdnri for ; Tue, 3 Aug 2021 05:33:26 -0700 (PDT) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2045.outbound.protection.outlook.com [40.107.22.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B50443A21A4 for ; Tue, 3 Aug 2021 05:33:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ld2Z+oce8GNOQUOgHPExzhExiA7lgiT8T7Nt44NY03Ad2N1o6JkQAcP6x8Gs9tCgUIGQF0S/bPzoNAF2SlA5h12A/+u4cpkD3PhI2gavJznZrZEHaYV1GnN+rYZDm3Ggii4+D21/SU7VckPL0+ovfHg4LPamW8uIUhTTSuEuf04jaslE6D2mkuEFZpcjT15HkAIDsTdyHPeE2RUihMJCtF6zfJQ7ZF3PEb+BsHBNi4T9aAscvwQUAEJn1RDqA1gCfTOsfnJZ+IroysNT4aCXcX4tnVdUEzfRObJ/JawLNGB/OJv3jZDzcUDgfydT975Ug9+4fQf5iR2NVP1jrhQxkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W0dKemNLH1dYXuusaUHWCVKxFOiQ0KpbkeuyHR4BHqQ=; b=Ra1CMPkwkHU/CjTxIGr9nXpe70bk/aafByUbbpeOsC01HycFdAUImELXbDalLogSoP4mGYIGIS6nVoMC+vbnUMmJYZQaYLVBKVe3z8hkJFJn/vCdaUfIK+EwH0ywG61BqeDQDpVQEBuYtauWZb6aIyXzDM/U1j7sdFlrIHOwmw9wJRt26nUqBdTOHdq/MTPQbM1qXzmRJUsw7WXXByHPOKajRHiTWMh9UPT+0ogNeS0KLQBUgnXm61SIum8YxWExrXLFEV9cn6mch6/3L/FwCZcIyUyVMOic3a024KIjJ4sxl7ijsNxEtcqEtMiG/4OwWuuCZjhBKJX0PfXzcAkXpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jacobs-university.de; dmarc=pass action=none header.from=jacobs-university.de; dkim=pass header.d=jacobs-university.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jacobsuniversity.onmicrosoft.com; s=selector2-jacobsuniversity-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W0dKemNLH1dYXuusaUHWCVKxFOiQ0KpbkeuyHR4BHqQ=; b=CmSOhyHiLeGc6sdbFqPGbK/+wWkglr1zHoyPDqnuECOChH5s8Y+pU0PWLwUJnP3XJUfv4GPrRGCYWhSL+D/aMwCLZRYfu2buOqqPJINcxj+DTwlRkcKSGQ67RCG2LG4b46NEbsQ02FNpO6QLz0wlTXoIDCTzZA7r17CAoIeNT/U= Authentication-Results: huawei.com; dkim=none (message not signed) header.d=none;huawei.com; dmarc=none action=none header.from=jacobs-university.de; Received: from AM0P190MB0641.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:194::23) by AM9P190MB1394.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:3b7::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18; Tue, 3 Aug 2021 12:33:22 +0000 Received: from AM0P190MB0641.EURP190.PROD.OUTLOOK.COM ([fe80::58c1:599a:1d3d:cdeb]) by AM0P190MB0641.EURP190.PROD.OUTLOOK.COM ([fe80::58c1:599a:1d3d:cdeb%9]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021 12:33:22 +0000 Date: Tue, 3 Aug 2021 14:33:21 +0200 From: =?utf-8?B?SsO8cmdlbiBTY2jDtm53w6RsZGVy?= To: "Fengchong (frank)" Cc: Andy Bierman , Kent Watsen , =?utf-8?Q?Bal=C3=A1zs?= Lengyel , "netmod@ietf.org" Message-ID: <20210803123321.mflzkimb7yvcfwk5@anna.jacobs.jacobs-university.de> Reply-To: Juergen Schoenwaelder Mail-Followup-To: "Fengchong (frank)" , Andy Bierman , Kent Watsen , =?utf-8?Q?Bal=C3=A1zs?= Lengyel , "netmod@ietf.org" References: <0100017aee17493f-6b9b747c-f0f1-4a70-b929-aaa0350a555f-000000@email.amazonses.com> <0100017b08feb7ef-71cbbcaa-256f-4947-ab27-9fdd40f2993a-000000@email.amazonses.com> <20210803041523.vpq2ltompplxn53p@anna.jacobs.jacobs-university.de> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-ClientProxiedBy: PR3P191CA0056.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:55::31) To AM0P190MB0641.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:194::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost (212.201.44.244) by PR3P191CA0056.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:55::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.23 via Frontend Transport; Tue, 3 Aug 2021 12:33:22 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f16f0605-4cb4-4ded-4018-08d9567ae1d1 X-MS-TrafficTypeDiagnostic: AM9P190MB1394: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mSlFJ8DJM87Q2TKf2t1s/WWRCZsngIqg59AxRi/l62cY027EvVxFIjMTKigSa0VUAjzEBqgvIFB3AHA9Fts8vQkXMuremWHFBi+iaS1vlRQZzwZf4LHqcHdeIU19/x4Wz+W97ZPNguhxnMywD2wd2uIpi8Z6UkH4Xr5Sqop0wXCYz5/LOnq7O8K890czPdNcIjMVPRdKdQ3SUFijQ6ny190uNIuf/SO2Hj2E9ICgVgq9ciC8c90xo9s9mcjcyeeIHWglLt3SjIMdkTgkIsy9UPyrzQ9E6q8VOzkvVwbe23OCfO0rMRDRZqdx46kRr0u6FHyV+waTcZHYevK7okUE+XBZI0V+2EPerOxoj6FOmp4U9h11GVOzOOcrNhKkBS7yHPZZU9nYCSZXnOKj7PrbFYF29xwqSDjzdpk57uJNjzIUDRxH3JrpSJZx3KaEZgltj8C/ms2JZcRAN2l5ppY/b7T0ZuKHvh2u71LDsJQ4RhwO41UWyTDCqPGHuiwxHfe2dEyruRNzxHcV7P6Bd3lWUcXkZbOs9pAQ9gMDZWGWhXF7URVEK8cnjMZZYBT8MJf9OyHcgTJBXtGTieGQm9d5/xtuCZ1NMtZErWqmxMho9S8pe0hlmCO6Yo4I6+rlMVVnV85zM7wIHK7xrvJPRVAWIP7PEmFrh9p2HmLPe5agvhvkS7pdMuLEK57gl/9IneKXQIlJkj5sBwA8EqNfNUeIEg3XQ8nwU9qzyuTlUJFV14Zt41KPo1343uhZJY4F8JCfIbpzRp35BWPsErDVzJLzgUe+5aikimiRds45K7zD2kc= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0P190MB0641.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(39850400004)(346002)(136003)(376002)(366004)(396003)(83380400001)(8936002)(66574015)(6486002)(2906002)(5660300002)(85182001)(1076003)(26005)(956004)(186003)(66946007)(54906003)(224303003)(85202003)(66476007)(66556008)(6916009)(4326008)(52116002)(3450700001)(86362001)(38100700002)(316002)(6496006)(478600001)(786003)(38350700002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZmFOZVo1blU1RWFDK2o1bDAxcUJuS0FySHRpMFQ1eUJOUHRqTndPc2NDaFdY?= =?utf-8?B?TUl1WkpuaDJaT2RTREQwbVJqSW1FT1NMTWpUNERndDZTYkMrNktGMEhYdVJs?= =?utf-8?B?UGRIQUlWT2IwMkl2SmZnM0ZBSmRBcjJWRW40L1VzV3VwaFczbitocThVZWdz?= =?utf-8?B?UWlrQnhvSDRsNlBBZEwrc2pqV1NGK1psTlhpaXNYcXJJeHRzSFV5WFFWUG9B?= =?utf-8?B?NGErU3ZjT1NOTnZZZWxDbjdJcGhYSEFMb2RLRVhPYXFidVJpb1pQYXhaSEZY?= =?utf-8?B?SG9qZjBBNWRuNzUvY29aaFQraUszUWVQWVNkVnpoNE14UDZkeTBmRTZocDNN?= =?utf-8?B?WkxIVTZITVpsbkNnZzNVMDZxNnZxUVVvaGt0SERMZzV2QVJwTmtjUnB4Yzl3?= =?utf-8?B?bmRrN2NxcWppVmFHQ3FZYThwZS9iT0JzTzRSRE92alZkM0dsQldPcnBhTWsz?= =?utf-8?B?SGJkVzN1WTJ0c2lObitSRW45RW5yOUVXVnNxcTNBdWdUdkhZVkFoaVExVHNn?= =?utf-8?B?WW5aSmxFeDE5QXJyTUJXcmlKQkRvUHgram13MGQyQmVhTkdPQnBNSk1GNmcy?= =?utf-8?B?NGV0dEZDT1BhTmJhYjJLa3V0ejJRSEVUMXlHcjZ3Wk9zTkdRek4zV0NRNjJy?= =?utf-8?B?WlBUcHZKTGlnU3BacTMvVnNFTTVtL3gzZ2IxZ2JvN3B4WXlzTDlJaDhEZURu?= =?utf-8?B?T3l3eTZRR093bkNhTU5Lbk5McmhWQmdEL3FDclAwMlVBVmR0UHBTSUNGczNt?= =?utf-8?B?dnVCOHVONVJGS3VvZ0p4NGtXRkFHTmRScnVobWd6WFR0S1FWeU1ZRUwvclNi?= =?utf-8?B?M3U4eTVsckFldloxM3BKbU9QTXAyVjFKc090VmJVQTY1bHd6Ykplemx2RjFq?= =?utf-8?B?UHBSYkt4R3Y4c3phdUVzZG5JV3hRZGJ5d04xM2JGK3I3SjR4MklPZkxJNUY2?= =?utf-8?B?RlBVU1EwQm0zMjZmRFViemtaM0g4MVJqUGdHUnNDbkpHU3Z1bm51Zm9VaFh5?= =?utf-8?B?dzJRSExKdGlkQWhJb0RTaUxsWkw2Smx6YVVnejYxUDZQVkNkN0lmQVI3dkdL?= =?utf-8?B?K09OSUJ6eUlhNmRGTVZSLzQyTHFvaTR2R1hNYmVEVmpNSEVHN0g4T1QzMEdw?= =?utf-8?B?K1pVRjBHTGJxbE0yYVAzaCtJWkVrN3Uwc01oZ3lXVHQ2aTQ0aGs4S0NxZUVF?= =?utf-8?B?WG9GUTV6QS9NQXNDSXhCanBLT0gvNk56VlNjc1NSQjdFOW4xblJFUlV5dWxv?= =?utf-8?B?WCtBd25qNkpVU2w3SmJ4Umc2Q1JjSGdybmVFZ3FpNnM4TjlpdUtzeXVUZm9J?= =?utf-8?B?VUdxVTloVW5WdGh1S2hDNjNMV2x1N1l0YUJmbTBiaE01TGU4Vy9pa3BzY3NK?= =?utf-8?B?K0V5SjRMbXlnbFk4MnF0dE12ZHN4d242OVBNQkhOZW41ZlJLYnBQWGt6VzZ2?= =?utf-8?B?QmkvK2VyWmY3WU5RUE5UYUhBWWVmME91ellCR0lYVm4rNmZyTU04M2l2eHJY?= =?utf-8?B?NGlnZ0VYR3hGTG1hZkFoNms1NXpFVTdNMy9yajNCMStIWTJnOWs3SXZOZ1Jt?= =?utf-8?B?cWJYTW5wb3NtYkhnYkQ2NXZGZG1LUUYrQ3ZXVitabWNLYlFYMGd1ZjBBYXNM?= =?utf-8?B?NW9XWUx1MzIyN3JtSHNmdm5qbEs4NFg5WEFpWElvSFVtTHZaWS90RXJoQVBJ?= =?utf-8?B?QVlaUFMvZXRWMnhyU0xVU0M1cEJNRktqcEFhZnFLaHBCdmdyNnRvMk5ZS1l6?= =?utf-8?Q?u4wXk7RP2DWWtZf+SGkEBw1nEmSR42g58k4eaFE?= X-OriginatorOrg: jacobs-university.de X-MS-Exchange-CrossTenant-Network-Message-Id: f16f0605-4cb4-4ded-4018-08d9567ae1d1 X-MS-Exchange-CrossTenant-AuthSource: AM0P190MB0641.EURP190.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 12:33:22.5316 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f78e973e-5c0b-4ab8-bbd7-9887c95a8ebd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 80zPTUsK0NBHQbZR6U0Tise974sCV7ntC2Ay0vRMeVvPtz+Wp8TjRiEpAQddUPqF1pUJC654os8eBrho6aBfHUi9Vk/YXSSia/l0S/ZAx+Y= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9P190MB1394 Archived-At: Subject: Re: [netmod] =?utf-8?b?562U5aSNOiAg562U5aSNOiAgc3lzdGVtIGNvbmZpZ3Vy?= =?utf-8?q?ation_sync_mechanism?= X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2021 12:33:31 -0000 On Tue, Aug 03, 2021 at 07:34:12AM +0000, Fengchong (frank) wrote: > Hi juergen, > Please see my comments inline. > > /frank > > -----邮件原件----- > 发件人: Jürgen Schönwälder [mailto:j.schoenwaelder@jacobs-university.de] > 发送时间: 2021年8月3日 12:15 > 收件人: Fengchong (frank) > 抄送: Andy Bierman ; Kent Watsen ; Balázs Lengyel ; netmod@ietf.org > 主题: Re: [netmod] 答复: system configuration sync mechanism > > On Tue, Aug 03, 2021 at 01:45:40AM +0000, Fengchong (frank) wrote: > > Hi andy and all. > > > > I don’t think get-data with origin can solve the issues below: > > > > > > 1. Some leafs like interface type CAN NOT be modified by user, but can be referenced by other config nodes(e.g. using leafref or occur in when/must). The validation will be fail if these leafs are not be configured by user now explicitly (we assume these leafs are optional and no default value). > > The interface type in the RFC 8343 module is config true. YANG does not allow you to refer to config false nodes in constraints that apply to config true nodes. A core principle is that the content of a configuration datastore can be validated without knowing the actual state of the system. > > Frank: yes, interface type is a config node, but it isn't allow to be modified. If a config node reference if-type, in order to validate data successfully ,user must have to config if-type with determined value again. For example, user must config if-type with 'ethernet' for ethernet0/0/1. I don't think it makes sense. The if-type has been created by system, when running config is merged to , it can work and the validation is successful. If you think running datastore is self-contained, I will think the system configuration should be imported to running datastore automatically to ensure successful validation You are writing about system configuration and operational state as if they are the same. I am not sure they are. Also note that interfaces are not static by any means, they come and go on a modular system. Do you consider plugging in an interface a system config change?? > > 2. Some instances are generated by system, but these instances can be referenced by other config nodes. The validation must be fail if these instances are not be recreated by user explicitly now. > > Yes, a configuration datastore is self-contained. If a client wants to configure the interface x, it has to define the interface x in the configuration. Note that this should not be confused with a system generating an interface x after probing the hardware. Note the difference between operational state, applied config, and running config. > > Frank: for example , predefined policies are provided by system, user configuration can reference these predefined policy directly. but because predefined policies are not configured by user explicitly, the validation will be fail. If you want to get a successful validation , user MUST have to redefined the system predefined policies. Referential integrity of a configuration does have benefits and hence the config has to be there somehow. There was a strong desire to avoid dangling references that may resolve or not. > So, system predefined data are useless. I think it is unreasonable. > > Let me add that the underlying model is that the client(s) have control over the configuration. A system making ad-hoc changes to the config (even with the best intentions) will be surprising. In this model, the only way to inject config into running on system boot is to have a client making changes to running following the normal procedures - at least conceptually. This means that conceptually the other clients need to be aware that there is a system client injecting configuration. > > If you follow this logic, it seems wrong to define a system datastore that is somehow magically merged into running - and it is not needed. > > Frank: system configuration not only includes some instances generated on reboot time, but also includes the configuration when hardware is plugged in, or a function is enabled (for example, in huawei's implementation, when QOS function is enabled, many qos predefined policies are created by system) or a user-created list instance is created, some leafs' value will be created by system. So , we need a system datastore to hold these configuration. Or you have a system client that is going to merge config into running. > > 3. User may need know what the original system configuration is, if we get data from , you may get the modified system configuration.(for example, user modify or template is expanded, or only active instances) > > If you have multiple clients managing shared configuration, then yes it is good if they are aware of what is going on. I am not sure yet that exposing other clients intentions via additional datastores and defining merge mechanisms and semantics is the way to go. > > > I don’t care about whether system datastore is imported to running or intended datastores. But I think if a config node reference a system node, the validation (running or intended datastores) will be successful even if the system node is not configured by user explicitly. > > I am concerned about having to define what "is imported" means precisely and whether moving to a model multiple datastores have to be merged before validation is the way to go. We already acknowledged that there are template expansions in some implementations without working out how they work. > > > Especially on the client side, if a client need validate all data retrieved from server, the validation SHOULD be successful. If system configuration are not imported to running, at a minimum, the client needs to know what the original system configuration is. Another way is adding with-system-used parameter to get-config operation to retrieved all user configuration and system configuration referenced by user configuration. > > Let me repeat, in the original model, the running configuration datastore is self-contained and can be validated without knowing additional datastores. > > /js > /js -- Juergen Schoenwaelder Jacobs University Bremen gGmbH Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany Fax: +49 421 200 3103 From nobody Tue Aug 3 06:01:24 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4EFCC3A227E for ; Tue, 3 Aug 2021 06:01:23 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.099 X-Spam-Level: X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cesnet.cz Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id V5iH3Uy30epd for ; Tue, 3 Aug 2021 06:01:18 -0700 (PDT) Received: from kalendar.cesnet.cz (kalendar.cesnet.cz [78.128.211.34]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1857E3A227B for ; Tue, 3 Aug 2021 06:01:17 -0700 (PDT) Received: by kalendar.cesnet.cz (Postfix, from userid 110) id 8CFF860092; Tue, 3 Aug 2021 15:01:10 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cesnet.cz; s=kalendar; t=1627995670; bh=oDpNWSk6v/jErwndjoPgD+K2JuvC/kvJxJeQCZ8Ld8Y=; h=From:To:Date:Subject; b=JZyrNk+9bUyfqk8pcZdRnFrjGTwri0og7+bTs4Rn4CjQHSiUfYVvVOvj32H3bhzgA RGlJYZ1/RpTXv0aAKy1aoU5tFBZeWPQmOWqoDfc6FkNmkdSWFlMJAwrj07u9Vjhs6K kkKdxW4H55R8IsTW/mcQKmFW4/doziY/9gZI5EWE= From: =?utf-8?q?Michal_Va=C5=A1ko?= To: "netmod" User-Agent: SOGoMail 5.1.0 MIME-Version: 1.0 Date: Tue, 03 Aug 2021 15:01:10 +0200 Message-ID: <4f62-61093e00-23-572d3100@187206536> X-Forward: 2001:67c:1220:80c:b5:55d3:81d5:8636 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Archived-At: Subject: [netmod] ietf-subscribed-notifications RPC modify-subscription X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2021 13:01:23 -0000 Hi, it seems the "modify-subscription" RPC [1] includes a mandatory choice = "target" [2]. In effect, it is not possible to modify a subscription fo= r it to be without a filter. I do not understand the reason for this, i= s it intentional or an error in the module? Regards, Michal [1] https://www.rfc-editor.org/rfc/rfc8639#page-53 [2] https://www.rfc-editor.org/rfc/rfc8639#page-48 From nobody Tue Aug 3 10:11:45 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 42E5F3A2A4C for ; Tue, 3 Aug 2021 10:11:43 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.887 X-Spam-Level: X-Spam-Status: No, score=-1.887 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R92ASaBJ9i5j for ; Tue, 3 Aug 2021 10:11:39 -0700 (PDT) Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A856D3A2A4F for ; Tue, 3 Aug 2021 10:11:38 -0700 (PDT) Received: by mail-lf1-x132.google.com with SMTP id z2so40988340lft.1 for ; Tue, 03 Aug 2021 10:11:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ahHespBqLFOqIX65xzYIKHXOK4bYdA0X2jEc6RcILmc=; b=yVyvssQFfGqzC5RniajTjDqwXG0n+ogESLZOxKF4RLYX/dgkTcddowZKRd2vvE6mHv M99dwToK8sK2FcyKITfwcUdGu1peQ/qk86bUHRvEb0fyb0w8EJiW+u6C1WL9M2X9i4Vf nlT7gEpzOZdcKusXS4sMASwXwlHb2Sepj2AY8FBIf+jMFOD3MTJdT5NLxf9V1wZfsVi/ IE4ED52M8l//g0CQkrQhKMWGBeQbusDXS2TdWBv7//R2ky3XxF1BZZxhPFBCSLIxtwOc UUP+zijNO2hdiqtXRYEuONyAMabMvbLtWeqiXGPoHcQ6Y9XHfXjfAML+ovN4ICo3nQqr WCYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ahHespBqLFOqIX65xzYIKHXOK4bYdA0X2jEc6RcILmc=; b=qedOFQbFgf0xNjQWfKFZkID0ZqlVrFSyqZrC0IxRQSotTJXbkaMYlq+7Q0V1AcAT6r y3LLVqMjByYmLPItWMfauIco6HaP6vgMGp5RNbbZsLvlAteGXljH/nQ/uoIhofHgkp2E 6PNhc9lOZU4ofmKF6WwoLhCAQhfTkHs0RbtbzPvJ14X6iJ+HxYXgkaOZcTuaTkF0iXZV yfUn9FYmaRJnwBd+IXIc8md9j57zgYV1ZzX6y4w/sNa6/ocaGSx1jTO64k+azjpaZsbu MPNmEvY5PChgpN63jrQeIMC3EMQjIMITATuckkdOOOXmau9nqX79KzZpQoPv/dpE9w5x LRCg== X-Gm-Message-State: AOAM533c60drRI0xKORwq/oge5eM3ZA1uynS2aAtYn7My4Xh664ICbs6 YQaLgVRusFnSs51qbMEwKsgwYRhk9r6pcX98QinhtA== X-Google-Smtp-Source: ABdhPJzmCNY+hwkAoGrFjth0srUzs2aAJIcosB6HBqYsLYLts1Q1heJZfBHPIXXm20VaUmkNHRdDX7m01nHsqJkhcIQ= X-Received: by 2002:ac2:4824:: with SMTP id 4mr17491173lft.553.1628010687254; Tue, 03 Aug 2021 10:11:27 -0700 (PDT) MIME-Version: 1.0 References: <2d1262bc90fc49d08eb641365b959ea4@huawei.com> <0100017aab854793-eb989e55-8496-451b-84de-7f17cb0720d5-000000@email.amazonses.com> <0100017aee17493f-6b9b747c-f0f1-4a70-b929-aaa0350a555f-000000@email.amazonses.com> <0100017b08feb7ef-71cbbcaa-256f-4947-ab27-9fdd40f2993a-000000@email.amazonses.com> <20210803041523.vpq2ltompplxn53p@anna.jacobs.jacobs-university.de> In-Reply-To: From: Andy Bierman Date: Tue, 3 Aug 2021 10:11:16 -0700 Message-ID: To: "Fengchong (frank)" Cc: Juergen Schoenwaelder , Kent Watsen , =?UTF-8?Q?Bal=C3=A1zs_Lengyel?= , "netmod@ietf.org" Content-Type: multipart/alternative; boundary="000000000000b46a2a05c8aac6f5" Archived-At: Subject: Re: [netmod] =?utf-8?b?562U5aSNOiBzeXN0ZW0gY29uZmlndXJhdGlvbiBzeW5j?= =?utf-8?q?_mechanism?= X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2021 17:11:43 -0000 --000000000000b46a2a05c8aac6f5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Aug 3, 2021 at 12:34 AM Fengchong (frank) < frank.fengchong@huawei.com> wrote: > Hi juergen, > Please see my comments inline. > > /frank > > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > =E5=8F=91=E4=BB=B6=E4=BA=BA: J=C3=BCrgen Sch=C3=B6nw=C3=A4lder [mailto:j.= schoenwaelder@jacobs-university.de] > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2021=E5=B9=B48=E6=9C=883=E6=97=A5 1= 2:15 > =E6=94=B6=E4=BB=B6=E4=BA=BA: Fengchong (frank) > =E6=8A=84=E9=80=81: Andy Bierman ; Kent Watsen ; > Bal=C3=A1zs Lengyel ; > netmod@ietf.org > =E4=B8=BB=E9=A2=98: Re: [netmod] =E7=AD=94=E5=A4=8D: system configuration= sync mechanism > > On Tue, Aug 03, 2021 at 01:45:40AM +0000, Fengchong (frank) wrote: > > Hi andy and all. > > > > I don=E2=80=99t think get-data with origin can solve the issues below: > > > > > > 1. Some leafs like interface type CAN NOT be modified by user, bu= t > can be referenced by other config nodes(e.g. using leafref or occur in > when/must). The validation will be fail if these leafs are not be > configured by user now explicitly (we assume these leafs are optional and > no default value). > > The interface type in the RFC 8343 module is config true. YANG does not > allow you to refer to config false nodes in constraints that apply to > config true nodes. A core principle is that the content of a configuratio= n > datastore can be validated without knowing the actual state of the system= . > > Frank: yes, interface type is a config node, but it isn't allow to be > modified. If a config node reference if-type, in order to validate data > successfully ,user must have to config if-type with determined value agai= n. > For example, user must config if-type with 'ethernet' for ethernet0/0/1. = I > don't think it makes sense. The if-type has been created by system, when > running config is merged to , it can work and the validation > is successful. If you think running datastore is self-contained, I will > think the system configuration should be imported to running datastore > automatically to ensure successful validation > > I doubt another rewrite of ietf-interfaces would gain much support. There are many objects that have user access restrictions that are not standardized with machine-readable statements. I am interested in the 2 use cases that Balazs described. The system does its own access control (not NACM) wrt/ these objects. The server just rejects the edit requests, even though the standard YANG indicates it should be writable. Some standard extensions to tag the data would help applications better predict server behavior. There is no way in YANG 1.1 to have a config=3Dtrue node reference config=3Dfalse in the XPath. (Well, we implement it but the developer has to enable it). I do not see the point of the system datastore if it contains config=3Dtrue nodes, just so that XPath can reference it. I do not agree that it is useful or easy to implement, especially since the contents of are visible in . Representing the possible instances is non-trivial (e.g. pattern allowed, not a fixed name, resulting in 6 million possible values). If the system datastore contains config=3Dfalse nodes, then you are talking about a rewrite of the YANG validation architecture and a new version of YANG. IMO there is no need for that. Andy > 2. Some instances are generated by system, but these instances can > be referenced by other config nodes. The validation must be fail if these > instances are not be recreated by user explicitly now. > > Yes, a configuration datastore is self-contained. If a client wants to > configure the interface x, it has to define the interface x in the > configuration. Note that this should not be confused with a system > generating an interface x after probing the hardware. Note the difference > between operational state, applied config, and running config. > > Frank: for example , predefined policies are provided by system, user > configuration can reference these predefined policy directly. but because > predefined policies are not configured by user explicitly, the validation > will be fail. If you want to get a successful validation , user MUST have > to redefined the system predefined policies. > So, system predefined data are useless. I think it is unreasonable. > > > > Let me add that the underlying model is that the client(s) have control > over the configuration. A system making ad-hoc changes to the config (eve= n > with the best intentions) will be surprising. In this model, the only way > to inject config into running on system boot is to have a client making > changes to running following the normal procedures - at least conceptuall= y. > This means that conceptually the other clients need to be aware that ther= e > is a system client injecting configuration. > > If you follow this logic, it seems wrong to define a system datastore tha= t > is somehow magically merged into running - and it is not needed. > > Frank: system configuration not only includes some instances generated on > reboot time, but also includes the configuration when hardware is plugged > in, or a function is enabled (for example, in huawei's implementation, wh= en > QOS function is enabled, many qos predefined policies are created by > system) or a user-created list instance is created, some leafs' value wil= l > be created by system. So , we need a system datastore to hold these > configuration. > > > 3. User may need know what the original system configuration is, > if we get data from , you may get the modified system > configuration.(for example, user modify or template is expanded, or only > active instances) > > If you have multiple clients managing shared configuration, then yes it i= s > good if they are aware of what is going on. I am not sure yet that exposi= ng > other clients intentions via additional datastores and defining merge > mechanisms and semantics is the way to go. > > > I don=E2=80=99t care about whether system datastore is imported to runn= ing or > intended datastores. But I think if a config node reference a system node= , > the validation (running or intended datastores) will be successful even i= f > the system node is not configured by user explicitly. > > I am concerned about having to define what "is imported" means precisely > and whether moving to a model multiple datastores have to be merged befor= e > validation is the way to go. We already acknowledged that there are > template expansions in some implementations without working out how they > work. > > > Especially on the client side, if a client need validate all data > retrieved from server, the validation SHOULD be successful. If system > configuration are not imported to running, at a minimum, the client needs > to know what the original system configuration is. Another way is adding > with-system-used parameter to get-config operation to retrieved all user > configuration and system configuration referenced by user configuration. > > Let me repeat, in the original model, the running configuration datastore > is self-contained and can be validated without knowing additional > datastores. > > /js > > -- > Juergen Schoenwaelder Jacobs University Bremen gGmbH > Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany > Fax: +49 421 200 3103 > --000000000000b46a2a05c8aac6f5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
Hi juergen,
=C2=A0 Please see my comments inline.

=C2=A0 /frank

-----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6-----
=E5=8F=91=E4=BB=B6=E4=BA=BA: J=C3=BCrgen Sch=C3=B6nw=C3=A4lder [mailto:j.sch= oenwaelder@jacobs-university.de]
=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2021=E5=B9=B48=E6=9C=883=E6=97=A5 12:= 15
=E6=94=B6=E4=BB=B6=E4=BA=BA: Fengchong (frank) <frank.fengchong@huawei.com><= br> =E6=8A=84=E9=80=81: Andy Bierman <andy@yumaworks.com>; Kent Watsen <kent+ietf@watsen.net>= ; Bal=C3=A1zs Lengyel <balazs.lengyel=3D40ericsson.com@dmarc.ietf.org>; <= a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org
=E4=B8=BB=E9=A2=98: Re: [netmod] =E7=AD=94=E5=A4=8D: system configuration s= ync mechanism

On Tue, Aug 03, 2021 at 01:45:40AM +0000, Fengchong (frank) wrote:
> Hi andy and all.
>
> I don=E2=80=99t think get-data with origin can solve the issues below:=
>
>
> 1.=C2=A0 =C2=A0 =C2=A0 =C2=A0Some leafs like interface type CAN NOT be= modified by user, but can be referenced by other config nodes(e.g. using l= eafref or occur in when/must). The validation will be fail if these leafs a= re not be configured by user now explicitly (we assume these leafs are opti= onal and no default value).

The interface type in the RFC 8343 module is config true. YANG does not all= ow you to refer to config false nodes in constraints that apply to config t= rue nodes. A core principle is that the content of a configuration datastor= e can be validated without knowing the actual state of the system.

Frank: yes, interface type is a config node, but it isn't allow to be m= odified. If a config node reference if-type, in order to validate data succ= essfully ,user must have to config if-type with determined value again. For= example, user must config if-type with 'ethernet' for ethernet0/0/= 1. I don't think it makes sense. The if-type has been created by system= , when running config is merged to <operational>, it can work and the= validation is successful. If you think running datastore is self-contained= , I will think the system configuration should be imported to running datas= tore automatically to ensure successful validation



I doubt another rewrite= of ietf-interfaces would gain much support.

There= are many objects that have user access restrictions that are not standardi= zed
with machine-readable statements.=C2=A0 I am interested in th= e 2 use cases that Balazs described.
The system does its own acce= ss control (not NACM) wrt/ these objects. The server just
rejects= the edit requests, even though the standard YANG indicates it should be wr= itable.
Some standard extensions to tag the data would help appli= cations better predict server behavior.

There is n= o way in YANG 1.1 to have a config=3Dtrue node reference config=3Dfalse in = the XPath.
(Well, we implement it but the developer has to enable= it).

I do not see the point of the system datasto= re if it contains config=3Dtrue nodes,
just so that XPath can ref= erence it.=C2=A0 I do not agree that it is useful or easy to implement,
especially since the contents of <system> are visible in <i= ntended>.=C2=A0 Representing the possible
instances is non-tri= vial (e.g. pattern allowed, not a fixed name, resulting in 6 million possib= le values).

If the system datastore contains confi= g=3Dfalse nodes, then you are talking about a rewrite
of the YANG= validation architecture and a new version of YANG.=C2=A0 IMO there is no n= eed for that.



Andy


> 2.=C2=A0 =C2=A0 =C2=A0 =C2=A0Some instances are generated by system, b= ut these instances can be referenced by other config nodes. The validation = must be fail if these instances are not be recreated by user explicitly now= .

Yes, a configuration datastore is self-contained. If a client wants to conf= igure the interface x, it has to define the interface x in the configuratio= n. Note that this should not be confused with a system generating an interf= ace x after probing the hardware. Note the difference between operational s= tate, applied config, and running config.

Frank: for example , predefined policies are provided by system, user confi= guration can reference these predefined policy directly. but because predef= ined policies are not configured by user explicitly, the validation will be= fail. If you want to get a successful validation , user MUST have to redef= ined the system predefined policies.
So, system predefined data are useless. I think it is unreasonable.



Let me add that the underlying model is that the client(s) have control ove= r the configuration. A system making ad-hoc changes to the config (even wit= h the best intentions) will be surprising. In this model, the only way to i= nject config into running on system boot is to have a client making changes= to running following the normal procedures - at least conceptually. This m= eans that conceptually the other clients need to be aware that there is a s= ystem client injecting configuration.

If you follow this logic, it seems wrong to define a system datastore that = is somehow magically merged into running - and it is not needed.

Frank: system configuration not only includes some instances generated on r= eboot time, but also includes the configuration when hardware is plugged in= , or a function is enabled (for example, in huawei's implementation, wh= en QOS function is enabled, many qos predefined policies are created by sys= tem) or a user-created list instance is created, some leafs' value will= be created by system. So , we need a system datastore to hold these config= uration.

> 3.=C2=A0 =C2=A0 =C2=A0 =C2=A0User may need know what the original syst= em configuration is, if we get data from <operational>, you may get t= he modified system configuration.(for example, user modify or template is e= xpanded, or only active instances)

If you have multiple clients managing shared configuration, then yes it is = good if they are aware of what is going on. I am not sure yet that exposing= other clients intentions via additional datastores and defining merge mech= anisms and semantics is the way to go.

> I don=E2=80=99t care about whether system datastore is imported to run= ning or intended datastores. But I think if a config node reference a syste= m node, the validation (running or intended datastores) will be successful = even if the system node is not configured by user explicitly.

I am concerned about having to define what "is imported" means pr= ecisely and whether moving to a model multiple datastores have to be merged= before validation is the way to go. We already acknowledged that there are= template expansions in some implementations without working out how they w= ork.

> Especially on the client side,=C2=A0 if a client need validate all dat= a retrieved from server, the validation SHOULD be successful. If system con= figuration are not imported to running, at a minimum, the client needs to k= now what the original system configuration is. Another way is adding with-s= ystem-used parameter to get-config operation to retrieved all user configur= ation and system configuration referenced by user configuration.

Let me repeat, in the original model, the running configuration datastore i= s self-contained and can be validated without knowing additional datastores= .

/js

--
Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs Univer= sity Bremen gGmbH
Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1 | 28= 759 Bremen | Germany
Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<https://www.jacobs-university.de/>
--000000000000b46a2a05c8aac6f5-- From nobody Tue Aug 3 10:14:03 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61C013A2A61; Tue, 3 Aug 2021 10:14:01 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.097 X-Spam-Level: X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cEWyRzvI2dBK; Tue, 3 Aug 2021 10:13:55 -0700 (PDT) Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com [IPv6:2607:f8b0:4864:20::1032]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 77F2F3A2A5D; Tue, 3 Aug 2021 10:13:55 -0700 (PDT) Received: by mail-pj1-x1032.google.com with SMTP id q17-20020a17090a2e11b02901757deaf2c8so5726662pjd.0; Tue, 03 Aug 2021 10:13:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=lIBBCuvdEd1pkaDNZZxA5ZDG+BtMhInhY37VvBXVuG0=; b=W2poFtHXVNNa17nCPy4lPqZfNqNzuCdNRzwLYv/gxZJsWq/Zcg0L2+7zxZW/VvrZGs +5Bo+Uq6RnBlj4EXXGYgUFV9NilQjWCy824L3+JTqDxeCNGBMVJzvt1S5PSgI0hduf90 72+Xkx6Wrp33moQ3QUyMGeB35wM57miRjo6/FrHjqClTZaR3NE/oI2BDAxaf2ljnCAfp CjmP5DvbE2Nwl/j+Exx2E7YgenuKjAyaM8NFcJKD0Mfp0KL2vYGdYxa/KSLiPgNQOIw5 HKWRZyp+9lwaQnEeVoWMUxEsykpLHIdjprOdXVgGIPqyGygf2kl3mTJO6Y8V+Qse+6Ci cmHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=lIBBCuvdEd1pkaDNZZxA5ZDG+BtMhInhY37VvBXVuG0=; b=rkaAUfYDLQB1fRU5vMno9uulajzsnooW8d8Pmo7aRJ4pEWifZSQGFy42LOrD9UUsCr afMlZJBa1tqExRmphBkxIwORjxQ6nFcdsTsrxB4ZZV3OD80+LFGkY0xQnTbGQR+11xmZ zhbKvmliMg0SiJ5qd8A82qOWm+4PXLI0YuPSS+XDY1TM2UZ1nshmUBPv2sJhJtd/qaHC MFZHTGOXRP+yyFKDN5M9L840I5BKLxvg3+bqGpgdhDuwIuMxh5/o6WtiHNbvWTflaxmC nsoSR8AYdbwZUDa5Hpr/A+kQu4R5eZg0EUHAW3+U0CoujLMHBAzyzf3WpR43eWOj8T7U Bhfg== X-Gm-Message-State: AOAM532F9CFPAfZysUFzPOQaNv0EX+B5KNB+orvqJBEwqco4ANny09ct UrEYqPhMEh01Lv18zO3UDlIoXjIHz3E= X-Google-Smtp-Source: ABdhPJysKM8dgE3CasK21euZYXDUH0hF92rCWNHdEJjUaheSPfTBkum2/PiXRw5p26UkcEJeiVZRbQ== X-Received: by 2002:a17:902:740c:b029:12c:188b:97c4 with SMTP id g12-20020a170902740cb029012c188b97c4mr1746331pll.55.1628010833968; Tue, 03 Aug 2021 10:13:53 -0700 (PDT) Received: from [192.168.1.133] (c-69-181-169-15.hsd1.ca.comcast.net. [69.181.169.15]) by smtp.gmail.com with ESMTPSA id t23sm16218101pfe.8.2021.08.03.10.13.52 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 03 Aug 2021 10:13:53 -0700 (PDT) From: Mahesh Jethanandani Message-Id: <6C7BBC61-5E9C-49AB-84C6-630CA1F0E141@gmail.com> Content-Type: multipart/alternative; boundary="Apple-Mail=_97DFEBBC-1B02-47FD-AE8B-96F1D1BA146C" Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.7\)) Date: Tue, 3 Aug 2021 10:13:51 -0700 In-Reply-To: <4f62-61093e00-23-572d3100@187206536> Cc: netmod , =?utf-8?Q?Michal_Va=C5=A1ko?= To: Netconf References: <4f62-61093e00-23-572d3100@187206536> X-Mailer: Apple Mail (2.3608.120.23.2.7) Archived-At: Subject: Re: [netmod] ietf-subscribed-notifications RPC modify-subscription X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2021 17:14:01 -0000 --Apple-Mail=_97DFEBBC-1B02-47FD-AE8B-96F1D1BA146C Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 [Cross posting to netconf] > On Aug 3, 2021, at 6:01 AM, Michal Va=C5=A1ko = wrote: >=20 > Hi, >=20 > it seems the "modify-subscription" RPC [1] includes a mandatory choice = "target" [2]. In effect, it is not possible to modify a subscription for = it to be without a filter. I do not understand the reason for this, is = it intentional or an error in the module? >=20 > Regards, > Michal >=20 > [1] https://www.rfc-editor.org/rfc/rfc8639#page-53 > [2] https://www.rfc-editor.org/rfc/rfc8639#page-48 >=20 > _______________________________________________ > netmod mailing list > netmod@ietf.org > https://www.ietf.org/mailman/listinfo/netmod Mahesh Jethanandani mjethanandani@gmail.com --Apple-Mail=_97DFEBBC-1B02-47FD-AE8B-96F1D1BA146C Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 [Cross posting to netconf]

On Aug = 3, 2021, at 6:01 AM, Michal Va=C5=A1ko <mvasko@cesnet.cz> = wrote:

Hi,

it seems the = "modify-subscription" RPC [1] includes a mandatory choice "target" [2]. = In effect, it is not possible to modify a subscription for it to be = without a filter. I do not understand the reason for this, is it = intentional or an error in the module?

Regards,
Michal

[1] = https://www.rfc-editor.org/rfc/rfc8639#page-53
[2] https://www.rfc-editor.org/rfc/rfc8639#page-48

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Mahesh Jethanandani





= --Apple-Mail=_97DFEBBC-1B02-47FD-AE8B-96F1D1BA146C-- From nobody Tue Aug 3 11:21:26 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F27203A2C7A; Tue, 3 Aug 2021 11:21:23 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.989 X-Spam-Level: X-Spam-Status: No, score=-1.989 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=futurewei.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7x0BypLTxy3i; Tue, 3 Aug 2021 11:21:18 -0700 (PDT) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2103.outbound.protection.outlook.com [40.107.243.103]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 95AA43A2C76; Tue, 3 Aug 2021 11:21:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BJfEZOemWA+c4DyVqgkrh8V80kdlChFAxbsyuQiIHrGklkcKvsilM2K3QZT30h7kjzqQSKS2RJaokd6McnCX3dFPtcz+u7RcAQdKXBKp7eLr31v0uBHHKbaCpyxOsRCvPgXALyAZPIpp8Y28wyPN2nc6rSWzxChhQXiTTjim9bsrkvJwBhoZiztQrmU0A+MnMoLeHhE7/m9tUgH1e+eN/fulpt+E+Pk7/O3nEIkOREHRqf8VnYyjJgIZwvMB4w5ciJBkIwzIy6sdZbLAsGdNs5DcEUKdGctNOAocMwuTcYq+QEKxNA/iWh8IpavKlWKF7T8Bu0GGVfzk20+w55ejwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=658+ejRkqXouQBereWOXTU/3aRmPhxAlX1wEaqgW140=; b=UFedyBMLqViq5Oye/zCX3LvjhcbU28muyCJNzkH1XisOlbk5/y7qj5gFsDGukFjTOFeiam+bl0lIt/x27JQTP0VBsSO0fZiJA4hP+4Sb78JTOGSFzd91qm6XTJuUgKZBHYdBplihbTejG/tmJonyn7oh34VgIdk7cZTPSF04nxy3+uKAZjkVipvJf+3//zvRBDYEHZn1kLEDMKJa7OrrGqnxeW7i4/p4OmOs5zvyy2q/ZnEEbcAHDC0vzCjS6HYtOt2pipBRh5lwVNmlr1+VeXZInqgapm18gJyAhMVmshPX7RdrKNydl9LCkVkkK/Aiqul6gFyl4mr7mE8MZU5mfA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=futurewei.com; dmarc=pass action=none header.from=futurewei.com; dkim=pass header.d=futurewei.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Futurewei.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=658+ejRkqXouQBereWOXTU/3aRmPhxAlX1wEaqgW140=; b=YNyrD7RNh8QQLsRrejVELKoG8YjLi2CvQVlRtXQ2sICAaR9IAXgOV6X99hj6g9BsFuy/5B1GmnqxULAaykEddDq+U/VZF3ivZ7v+mVXf00fpAy0+UzCnHdWHpy4ePoJ6XMWgQGABhzqihYHvvDyw4S0Z/SC78T16KNktekoy63A= Received: from BY5PR13MB3793.namprd13.prod.outlook.com (2603:10b6:a03:226::15) by BY5PR13MB3378.namprd13.prod.outlook.com (2603:10b6:a03:1a4::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.9; Tue, 3 Aug 2021 18:21:15 +0000 Received: from BY5PR13MB3793.namprd13.prod.outlook.com ([fe80::fd77:79b3:2b36:f13d]) by BY5PR13MB3793.namprd13.prod.outlook.com ([fe80::fd77:79b3:2b36:f13d%7]) with mapi id 15.20.4394.015; Tue, 3 Aug 2021 18:21:15 +0000 From: Alexander Clemm To: Mahesh Jethanandani , Netconf CC: netmod Thread-Topic: [netmod] ietf-subscribed-notifications RPC modify-subscription Thread-Index: AQHXiGevH16Bf98r9EObFWy1oneQIKtiBQyAgAARH2A= Date: Tue, 3 Aug 2021 18:21:15 +0000 Message-ID: References: <4f62-61093e00-23-572d3100@187206536> <6C7BBC61-5E9C-49AB-84C6-630CA1F0E141@gmail.com> In-Reply-To: <6C7BBC61-5E9C-49AB-84C6-630CA1F0E141@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=futurewei.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 840203ed-bca6-4e45-e588-08d956ab7b47 x-ms-traffictypediagnostic: BY5PR13MB3378: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5516; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: yXnhN9pPeYq7oUyYy+A97EaKG81a8Na42tMp/oY7fBsx0tgunblVoGhqCV5RKVaVTwR0Uerp9X0p/0PX+qVFBjvTNn+W/0jJfKgPm+QnfnJLyes80+VTNsj3lFvc4IYByZOAlhtXM0eV1VuSsmd0XARWgfQ5w6PTBVw34O+du4u87AAR8t1C/91OKNXwsMNORdiFchPPPDxa4waahPlYl9KNHaJYq3+F1k2WJQQ5LjkVF3hLQDUnIzXhY9sjGc/gLdOYDMMRzeV/NWzvj9H/YjFCtTqzyVR28ER2fCldz+ScLLnRpl3GrVki+sIpgPbPrnjX4qQswee+BVSluQossE6lwRJt2r3yZjXVleNoq279aK5xCj5TXK/2Kbidtqb0tyuPXLpue4jxQTqEWbhMYJeBBcEfPiA2mYcyVHOwNmlEBjbWzxj+Ui0E8/RRYkn7Kf+QTnNp8iAZ3oCmjarY8+4cEaFvOspUipwKJKLLfTnfNhL0SuA+yEeJ4VOboJKaY4RnMV1eOUKi5ouWWJCW1gXUNJVZ98LSp1MJ+mH6+6rUPRU2NucdwyBoX0ZBFfcg9EiD5o18XPtMq4h560AWEfPgRuH/vKe+ViSn4U1gNGtazrRVNrFPlCiP/WE+FNmWAi9lP5qdnp31a1ACv15gzC2ns3Au6TcOCf5RmbUB81kRsmsevlisVIkQGTL/Tl6FUzIDo0ez0corj1A0Jsk3fmVGiiGVTcIlF7KPPweDXn41JubQTi/GddsMCxJwDq2W9oEOJTFwBHUbdYzlFgDOKiE2DgLq2L3Js9uFLMrvIjc= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR13MB3793.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(366004)(136003)(39840400004)(396003)(2906002)(8936002)(186003)(26005)(8676002)(66946007)(71200400001)(4326008)(52536014)(5660300002)(38070700005)(66446008)(66556008)(15650500001)(110136005)(64756008)(66476007)(316002)(166002)(86362001)(83380400001)(38100700002)(76116006)(6506007)(9326002)(478600001)(966005)(53546011)(9686003)(55016002)(122000001)(33656002)(7696005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-2?Q?cmhDxDAowx3XKYt4AUpkKMPFJP56gekg5pY0GRuX7HicyaxXEnBQiYT6Fn?= =?iso-8859-2?Q?9UyKefD6zKv/ps+VRLqXm4QtMkzv42iWNIkSXfn40jVB5A2hn0bsNe2Zis?= =?iso-8859-2?Q?CX1MucF2y7uFbeu/TaxQka2NqsNR6mPTIy9QhlVJUMrR+FDPMK0+IFqFi8?= =?iso-8859-2?Q?LiDLssbsuVL5Fe8y+ub44dETl3eqRrjJLcRSr9bSAQJoeNtSdlbCIKSlDc?= =?iso-8859-2?Q?COciqBmk5K09zv8zUoeTiRA64kinej2TID5UjixfASZ3pQD9Lxb2rwqOKq?= =?iso-8859-2?Q?E169APjqpGtzk5+RoAnqDrvmkB1j1OopW8M7Tai3UagvaECOu4BFCmVU7x?= =?iso-8859-2?Q?NJsqfnQBx3y6zGgpWyo7po0RnfQCitYwT2yPClAgDFYkdCJD/VCeMFVWjk?= =?iso-8859-2?Q?L+K8anWp4/5otKFd6VnVryucrhOWR7isHWUryB2wNwdGUoslzlO/FABiu4?= =?iso-8859-2?Q?ma6A7m7ppqcadci8LB3PvLqqOKSrIGklJYUL0u2Ru+zf3Q1qmsl1Fr1IKa?= =?iso-8859-2?Q?H59v9/JH9SqPHnsUSQEEFLFU+5Vvx0E0ltnKUOkUwEfQC6za/BkOaDUtjp?= =?iso-8859-2?Q?o/aPdWj9aoIXYm9OzeX7v5kCrGhVgJNMfgJioFk/N6RgiyaZnSlqTDTGOT?= =?iso-8859-2?Q?ezcvhlINSDkKQrHfl/MPIZwerU4/UWLwLXTWZn7co9WLHZi8MyHxKB3jkv?= =?iso-8859-2?Q?zMtDu8h6KWVilDHk3GF20LziSj+VvGellfVv9TL+hlRLwEiEUtbQ2lXyLo?= =?iso-8859-2?Q?dPfcNcc5DlnJaTWNLyZp7/uJIaj4nzp8/G6QrdiRBA8NVM9ox0LSR3sVeM?= =?iso-8859-2?Q?sloXEf5Tp4yQuinNCSwSYWGOLUUrqCrtA1ClBP4YFnGBmW7PXj+68vyurL?= =?iso-8859-2?Q?Uu5VvW25qnjeHEAhKeWzfNtWI42njO8uY7Fx7Kcil1VWPmY1Tlmlc/cr38?= =?iso-8859-2?Q?kS3nCY5akzb7rjdpTLXCY79Edq1kbRNqLebZy+O0hTBFolf+7tyGOQ59LC?= =?iso-8859-2?Q?k/EPwctoORnvPGD5aCgcw89em9NfY8/JwFUmYKGeZbqavwUlT7Vz7a8WnY?= =?iso-8859-2?Q?jrOOmuH3YCkmvjrDD9iP9iTqzhEpWoBXA5XGAplMJOIfcifDDP+q7UAHJg?= =?iso-8859-2?Q?6bMf9Aau9/r81sXyySaZvGQ0Akl++2piczW5OhkpDE7mK9A8qoAEzFxg4C?= =?iso-8859-2?Q?kVjV6pZfsnEN5buV+5Ngpe5xXQJ0pAGf2fuTaq2LJWJy4jMEetqk94QM61?= =?iso-8859-2?Q?N+x7G77yyUDKY9RrK3OcVqdXAYoSNcecJAcHLXKJ1xr0X79CH+Vnsjv/Rt?= =?iso-8859-2?Q?3SdELBOQgJ0T5OO8K8cg2hs6x4gnA2aLCoHT+81FZVKGWtOFi1t78n94il?= =?iso-8859-2?Q?xLsm8GVPWb?= x-ms-exchange-transport-forked: True Content-Type: multipart/alternative; boundary="_000_BY5PR13MB37930C3A703FDC0816F65C19DBF09BY5PR13MB3793namp_" MIME-Version: 1.0 X-OriginatorOrg: Futurewei.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR13MB3793.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 840203ed-bca6-4e45-e588-08d956ab7b47 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2021 18:21:15.5678 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0fee8ff2-a3b2-4018-9c75-3a1d5591fedc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: JwWGeJcKA3NNLmsF0SQFKKTqhDyvrEsE2yJkzfFAHcj70Mbea7R5b38Pz+5o8bdERSATa6oZCv66rt+7WhHuKw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR13MB3378 Archived-At: Subject: Re: [netmod] ietf-subscribed-notifications RPC modify-subscription X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2021 18:21:24 -0000 --_000_BY5PR13MB37930C3A703FDC0816F65C19DBF09BY5PR13MB3793namp_ Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Hi, When you modify the subscription, you need to specify the subscription para= meters that you want to modify the subscription to - i.e. the subscription= parameters that you want to be in effect after modifying the subscription.= If you want nothing to be filtered, just specify a "null" filter. --- Alex From: netmod On Behalf Of Mahesh Jethanandani Sent: Tuesday, August 3, 2021 10:14 AM To: Netconf Cc: netmod Subject: Re: [netmod] ietf-subscribed-notifications RPC modify-subscription [Cross posting to netconf] On Aug 3, 2021, at 6:01 AM, Michal Va=B9ko > wrote: Hi, it seems the "modify-subscription" RPC [1] includes a mandatory choice "tar= get" [2]. In effect, it is not possible to modify a subscription for it to = be without a filter. I do not understand the reason for this, is it intenti= onal or an error in the module? Regards, Michal [1] https://www.rfc-editor.org/rfc/rfc8639#page-53 [2] https://www.rfc-editor.org/rfc/rfc8639#page-48 _______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod Mahesh Jethanandani mjethanandani@gmail.com --_000_BY5PR13MB37930C3A703FDC0816F65C19DBF09BY5PR13MB3793namp_ Content-Type: text/html; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable

Hi,

When you modify the subscription, you need to specif= y the subscription parameters that you want to modify the subscription to &= #8211; i.e.  the subscription parameters that you want to be in effect= after modifying the subscription. If you want nothing to be filtered, just specify a “null” filter. 

--- Alex

 

From: netmod <netmod-bounces@ietf.org> = On Behalf Of Mahesh Jethanandani
Sent: Tuesday, August 3, 2021 10:14 AM
To: Netconf <netconf@ietf.org>
Cc: netmod <netmod@ietf.org>
Subject: Re: [netmod] ietf-subscribed-notifications RPC modify-subsc= ription

 

[Cross posting to netconf]



On Aug 3, 2021, at 6:01 AM, Michal Va=B9ko <mvasko@cesnet.cz> wrote:

 

Hi,

it seems the "modify-subscription" RPC [1] includes a mandatory c= hoice "target" [2]. In effect, it is not possible to modify a sub= scription for it to be without a filter. I do not understand the reason for= this, is it intentional or an error in the module?

Regards,
Michal

[1] https://www.rfc-editor.org/rfc/rfc8639#page-53
[2] https://www.rfc-editor.org/rfc/rfc8639#page-48

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.o= rg/mailman/listinfo/netmod

 

Mahesh Jethanandani=

 =

 =

 

 

--_000_BY5PR13MB37930C3A703FDC0816F65C19DBF09BY5PR13MB3793namp_-- From nobody Tue Aug 3 11:45:37 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5412F3A2D62; Tue, 3 Aug 2021 11:45:31 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.988 X-Spam-Level: X-Spam-Status: No, score=-1.988 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H2=-0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=futurewei.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cL3KK380On51; Tue, 3 Aug 2021 11:45:25 -0700 (PDT) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2109.outbound.protection.outlook.com [40.107.220.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8E3593A2D5E; Tue, 3 Aug 2021 11:45:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eD9kTuUbkQeWwIbqJzctUReK4gDKY/FNSr+lA171tmNjCcdWD8Q8MX8qgLs8UhTToD9FngKKYGbZTnu0esaE2H+oJNjL3ekniFxJrZStRLEvof66HA3T8yF4lBs3aFfKtvOqxPtJHXGi5y/RPnrsBDhErOd0L0pvlW2eOnodEHI7LAX63RkgPcD6rG+fE+hdZ3rziCPnvUJYmbO+ZkpjMcdl8h2e5cC77/rBNN9Bl8FwWwrN29jf3qCLb4+U8WlmOPaKYdPn4wka0+pHDXjSyA7aFpBeJjm5ysLxwhfAr3lpMf8EAzQhEPWoJ7R6EG/RaUu3CIFj7ojl7atyksEcdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E+C+wANLN5OjnarnJwqo5bRALPB0IZByxY5tmsI+ivA=; b=kJbAYa/bcHg/Xwnx81UTZ4BNDllCd1iLDjhiZZWgYYRnPOlp8mujJMa4O8Nxzv5MCB9Oxs50q8jjlQYGdKvKug4WFC7KWOr3KRw7+gZGRtvSwLVmZ5boA1GZkhmoaLI4fTECtWwob30chUXS78n3dW1KCXnflALuDmtMINpRQ5F+zFFab4+LKwz6i4mEF2IYY8N4IaSXheLcpvJdeX7Y3r391h3SAGZpKOvUB4P7Jd70Mzoxf0IrrFcmIQ0I6L2qAs+a+fu8wwxdZR9oR+4e/0SZfb5y9CcWCTzlpgcE4XQBv8QLT8Jekv4hSALCeIDodlNusFZBZw7MNC4bN6YeGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=futurewei.com; dmarc=pass action=none header.from=futurewei.com; dkim=pass header.d=futurewei.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Futurewei.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E+C+wANLN5OjnarnJwqo5bRALPB0IZByxY5tmsI+ivA=; b=DuteiTcJ04EdGMyeFjfO7Pd5qBpncGYLSctOjy7o6CPO6vXxVyv3Le6aMI6dg4rR70wZHiuY3DassFtHbzVGAxDuVu4dtuFrdtvP6r6yYn1P1CsvjEwEtLzcnCeOJ+4PK5rpQIEj1YrPx75m2bhDQamHMTQ7gA6bMTqqnf1naTI= Received: from BY5PR13MB3793.namprd13.prod.outlook.com (2603:10b6:a03:226::15) by BYAPR13MB2502.namprd13.prod.outlook.com (2603:10b6:a02:ca::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.12; Tue, 3 Aug 2021 18:45:22 +0000 Received: from BY5PR13MB3793.namprd13.prod.outlook.com ([fe80::fd77:79b3:2b36:f13d]) by BY5PR13MB3793.namprd13.prod.outlook.com ([fe80::fd77:79b3:2b36:f13d%7]) with mapi id 15.20.4394.015; Tue, 3 Aug 2021 18:45:22 +0000 From: Alexander Clemm To: Alexander Clemm , Mahesh Jethanandani , Netconf CC: netmod Thread-Topic: [netmod] ietf-subscribed-notifications RPC modify-subscription Thread-Index: AQHXiGevH16Bf98r9EObFWy1oneQIKtiBQyAgAARH2CAAALSoA== Date: Tue, 3 Aug 2021 18:45:22 +0000 Message-ID: References: <4f62-61093e00-23-572d3100@187206536> <6C7BBC61-5E9C-49AB-84C6-630CA1F0E141@gmail.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: futurewei.com; dkim=none (message not signed) header.d=none;futurewei.com; dmarc=none action=none header.from=futurewei.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9ccc1574-830f-4dc8-180b-08d956aed99f x-ms-traffictypediagnostic: BYAPR13MB2502: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VrWfvhkYiEktjh+UNcKrOPJK+IiImCAnVTZsWbpvTEuM6/kUbm5TEcxBsFsbPtNwByC8Q5MhYpZ8WXTnYbhjqNyl0K7tPqvGhMXUmoYe7mPJXY8HTcdtS6s0sFKBuqPkfNkbrnw2ACSiVI5fV9Lzl5XjTkclCR+iYhKXQizqlSFUbUUi9RxwM5xnyzLhowUtK0sEgAQqlYmKFaqtstKizEKgWg2Evg3wdVyUwu4icCl42qCnzEW++Oufr+XSdgLta25Qp7BmAy6uu+1E9mn1jh2DAv3YqF7+1z8L9OdFD1f8MjpF+VSIDy3gYKGUPZeUa1hD8/5eE75v2LZSmlsl7iJznoXDALyFWaGAKSTHoZi8lU7XP+jduEWyO17DX58YbE8NUaazYBCVv4yIbn4J39qEsuBT4d+hqsVJaYjgqJzEkJ7/2gHwbdIwf7g5JakQsGoO1P76572FtK0MrE+xnw2nmI9eUMVZDzpMFKobosWoOP+wZ7VNnCVKn0ZH5rpwvVZm9j17rUyFgbKHgZiEFaYB17xG+uN+poatnrTOc8a1pcP01TW2xxCmJ+hBJUjrDMlgbch7QDoYmzNjPr535GJss602M+S2PiVsnzx70bCHmUBqrlWjnw+IXdPDfzGAS8pFyI8roK1E7EoBAesjtUDmfbTWZf5v83hgcRyGWp3RevjOfqDs5tM1jL/xuNoz5t5zaPxNtl30ZiI/6TkhT5t3zgKakuaOXiKg6ryW0i+BJx1f/IPvPycSgLX7mVknXFEeGqN2ISFjE3baxIN2ZUPaoPSlQX1Wa5SJ0rk641U= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR13MB3793.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(396003)(39840400004)(136003)(346002)(376002)(2906002)(83380400001)(66556008)(316002)(5660300002)(66946007)(8936002)(55016002)(38070700005)(9686003)(66476007)(966005)(186003)(66446008)(64756008)(110136005)(71200400001)(52536014)(8676002)(478600001)(76116006)(2940100002)(6506007)(66574015)(53546011)(4326008)(86362001)(7696005)(26005)(15650500001)(33656002)(166002)(38100700002)(122000001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-2?Q?2w3EEA7sh0QdVKV/piJiZyLtsHz2JVh+7R2dKLefQz9+hGSRviraEVu+Bz?= =?iso-8859-2?Q?E/eyJItAlrbYjkofU34V2cyd/Qh/oVSYg5ftqVTqfk5jWP8DDMymJSNMlf?= =?iso-8859-2?Q?/AAcyOjx858zFPQL2BTg1N06czgWkEP73Nxf0QxGySL/NipYOgKWbjSwnO?= =?iso-8859-2?Q?WHXxnQzHvHCxyPGJe9ps7x1e6PdF/nPXkNLj+yIqvTaAs81raAPsgRhj96?= =?iso-8859-2?Q?DX+Ax/sG23uqmU/1mkuVQ7KjrUGUul5lFPgftayLRwmnCNuN1vpCDozCSw?= =?iso-8859-2?Q?VKpgpegfklkxuDkWg+PANpvPJ9PheeZRA40UhGheq+8XwmI6q1NSQMp3bQ?= =?iso-8859-2?Q?Sht6xQS1NVbqKfV8Hd3LqrdwXOxSN56jaQbZVP32F2UFIvP+Q7dRgAlho2?= =?iso-8859-2?Q?nqkzdBs4LPiI8ym88/8EtutG1SFxFDLTCqKTCGabgKxGeawr8D4OUgnpAY?= =?iso-8859-2?Q?7J9MZ4blHzO5l0HrjuIqc/8JKisC0MrvzilkXoGjw9+ChrY0UJszyxe7xk?= =?iso-8859-2?Q?q31/uuWsmh5bhkyL27cQRW6iWhIqmsE9AQznLM+VFtBOyIK3prdHkCSTgz?= =?iso-8859-2?Q?+/VQzmumb39K9B4EyrTkBDuIT4oc4IBEcfe5lOwlC0m+uKX6Hw9v3fpHaN?= =?iso-8859-2?Q?vM0T3HIoxbmsEeg+nooQAHfwWnNrafRl9PMSPBm7InDLRWTJgOkRppRo6i?= =?iso-8859-2?Q?3drLI1MSEvBbXGJKfcLfWL6x6LQ+aGR6obFHm7fSspxIR0Qlq6838ukP69?= =?iso-8859-2?Q?UsVJbSUARZOxv+5+8ThbTZcZHXoub8p6rYZ1FXIfKoCm8DMnTzurhbGm4e?= =?iso-8859-2?Q?CsC6Ju5YltCh0RY6mGFgfg6D5zzNtLNsYqptnrWvk20q7yZOUIapk4GKxX?= =?iso-8859-2?Q?l2BL0oK1Ovr7LhKFEfgAqHKa+CBzssTPbA8aUgqjlotG1Poqp5SfWVZxaJ?= =?iso-8859-2?Q?fqGn64+LWqwfJ00wIUOh2Q9SFBD5wT9WqibdnrHDSry3WWnx7g7qMcAi31?= =?iso-8859-2?Q?0yx6BmQwlszAWnfeIkznqUCyxILwWmfizGuJ2wOuj8+sOM3VK6hzRP9USi?= =?iso-8859-2?Q?B+W4kPTCfRObPVTFveTs1FxKTczyPOo9ApjZxLfnhrp5bYi55Oj+TXnHVJ?= =?iso-8859-2?Q?Qvfqq6hebi7MWH2FYiIjpJ6s4cA7tKfrU0AXsMsLvFb/Jp1vykJVmTMCTS?= =?iso-8859-2?Q?7j0yAVxSv+OLiIPyeINDiMMadfXu7dRLJR1K2PMKJ2NGTVpGdnR0BFY82/?= =?iso-8859-2?Q?rOy3Y+IvTYhYVT5KeHsH76xhAXDw7QnxVnDIOJF5SvZZNR4X4Jfh53R5aa?= =?iso-8859-2?Q?zJaegI7V2W3wkd81hwr9dXInE6dZLCZIhCh4RuF0to7gv0W92UAU6DYjmt?= =?iso-8859-2?Q?2c8ncmAoE1?= Content-Type: multipart/alternative; boundary="_000_BY5PR13MB3793BF27F7BAF2B4764D65B6DBF09BY5PR13MB3793namp_" MIME-Version: 1.0 X-OriginatorOrg: Futurewei.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR13MB3793.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9ccc1574-830f-4dc8-180b-08d956aed99f X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2021 18:45:22.3453 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0fee8ff2-a3b2-4018-9c75-3a1d5591fedc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: FGT8f6Xt5Cxoeo0X6g0Ngu6BvdHfkfrii2Q6XUsqNPDjBUb891QHb2LI3oA6dCHhibm4FU3k+RDKHe40VPyDHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR13MB2502 Archived-At: Subject: Re: [netmod] ietf-subscribed-notifications RPC modify-subscription X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2021 18:45:32 -0000 --_000_BY5PR13MB3793BF27F7BAF2B4764D65B6DBF09BY5PR13MB3793namp_ Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable I am just rereading this (sorry, it's been a while since we wrote this). When you look at the modify-subscription RPC, the "case stream" itself is o= ptional, even if the choice "target" is mandatory. So, it is in fact optio= nal to include, no need to specify a null filter. (However, when present, = then parameters of the individual choices need to be present as well.) In = effect, you have a mandatory choice, but can select a case whose nodes are = optional. This is depicted in the Tree Diagram here: RFC 8639: Subscriptio= n to YANG Notifications (rfc-editor.org) What may also be confusing at first is the fact that the choice "target" it= self has "stream" as the single case (in RFC 8639). So, why put a choice t= here in the first place? The reason why it is there is so that it can be au= gmented, and RFC 8641 specifies a second case, namely "datastore". --- Alex From: netmod On Behalf Of Alexander Clemm Sent: Tuesday, August 3, 2021 11:21 AM To: Mahesh Jethanandani ; Netconf Cc: netmod Subject: Re: [netmod] ietf-subscribed-notifications RPC modify-subscription Hi, When you modify the subscription, you need to specify the subscription para= meters that you want to modify the subscription to - i.e. the subscription= parameters that you want to be in effect after modifying the subscription.= If you want nothing to be filtered, just specify a "null" filter. --- Alex From: netmod > On B= ehalf Of Mahesh Jethanandani Sent: Tuesday, August 3, 2021 10:14 AM To: Netconf > Cc: netmod > Subject: Re: [netmod] ietf-subscribed-notifications RPC modify-subscription [Cross posting to netconf] On Aug 3, 2021, at 6:01 AM, Michal Va=B9ko > wrote: Hi, it seems the "modify-subscription" RPC [1] includes a mandatory choice "tar= get" [2]. In effect, it is not possible to modify a subscription for it to = be without a filter. I do not understand the reason for this, is it intenti= onal or an error in the module? Regards, Michal [1] https://www.rfc-editor.org/rfc/rfc8639#page-53 [2] https://www.rfc-editor.org/rfc/rfc8639#page-48 _______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod Mahesh Jethanandani mjethanandani@gmail.com --_000_BY5PR13MB3793BF27F7BAF2B4764D65B6DBF09BY5PR13MB3793namp_ Content-Type: text/html; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable

I am just rereading this (sorry, it’s been a w= hile since we wrote this). 

 

When you look at the modify-subscription RPC, the &#= 8220;case stream” itself is optional, even if the choice “targe= t” is mandatory.  So, it is in fact optional to include, no need= to specify a null filter.  (However, when present, then parameters of the individual choices need to be present as well.)  In effect, yo= u have a mandatory choice, but can select a case whose nodes are optional.&= nbsp; This is depicted in the Tree Diagram here: RFC 8639: Subscr= iption to YANG Notifications (rfc-editor.org)

 

What may also be confusing at first is the fact that= the choice “target” itself has “stream” as the sin= gle case (in RFC 8639).  So, why put a choice there in the first place= ? The reason why it is there is so that it can be augmented, and RFC 8641 specifies a second case, namely “datastore”.

--- Alex

 

From: netmod <netmod-bounces@ietf.org> = On Behalf Of Alexander Clemm
Sent: Tuesday, August 3, 2021 11:21 AM
To: Mahesh Jethanandani <mjethanandani@gmail.com>; Netconf <= ;netconf@ietf.org>
Cc: netmod <netmod@ietf.org>
Subject: Re: [netmod] ietf-subscribed-notifications RPC modify-subsc= ription

 

Hi,

When you modify the subscription, you need to specif= y the subscription parameters that you want to modify the subscription to &= #8211; i.e.  the subscription parameters that you want to be in effect= after modifying the subscription. If you want nothing to be filtered, just specify a “null” filter. 

--- Alex

 

From: netmod <netmod-bounces@ietf.org> On Behalf Of Mahesh Jethanandani
Sent: Tuesday, August 3, 2021 10:14 AM
To: Netconf <netconf@ietf.org= >
Cc: netmod <netmod@ietf.org>
Subject: Re: [netmod] ietf-subscribed-notifications RPC modify-subsc= ription

 

[Cross posting to netconf]

 

 

Hi,

it seems the "modify-subscription" RPC [1] includes a mandatory c= hoice "target" [2]. In effect, it is not possible to modify a sub= scription for it to be without a filter. I do not understand the reason for= this, is it intentional or an error in the module?

Regards,
Michal

[1] https://www.rfc-editor.org/rfc/rfc8639#page-53
[2] https://www.rfc-editor.org/rfc/rfc8639#page-48

_______________________________________________
netmod mailing list
netmod@ietf.org
https://ww= w.ietf.org/mailman/listinfo/netmod

 

Mahesh Jethanandani=

 =

 =

 

 

--_000_BY5PR13MB3793BF27F7BAF2B4764D65B6DBF09BY5PR13MB3793namp_-- From nobody Tue Aug 3 19:54:23 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 729603A3E72 for ; Tue, 3 Aug 2021 19:54:21 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.896 X-Spam-Level: X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ydGbKDzGte9B for ; Tue, 3 Aug 2021 19:54:15 -0700 (PDT) Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9CB793A3E70 for ; Tue, 3 Aug 2021 19:54:14 -0700 (PDT) Received: from fraeml735-chm.china.huawei.com (unknown [172.18.147.206]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Gfbsx2NdSz6GFHQ; Wed, 4 Aug 2021 10:53:57 +0800 (CST) Received: from dggpemm100004.china.huawei.com (7.185.36.189) by fraeml735-chm.china.huawei.com (10.206.15.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 4 Aug 2021 04:54:10 +0200 Received: from dggpemm500003.china.huawei.com (7.185.36.56) by dggpemm100004.china.huawei.com (7.185.36.189) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 4 Aug 2021 10:54:08 +0800 Received: from dggpemm500003.china.huawei.com ([7.185.36.56]) by dggpemm500003.china.huawei.com ([7.185.36.56]) with mapi id 15.01.2176.012; Wed, 4 Aug 2021 10:54:08 +0800 From: "Fengchong (frank)" To: Andy Bierman CC: Juergen Schoenwaelder , Kent Watsen , =?utf-8?B?QmFsw6F6cyBMZW5neWVs?= , "netmod@ietf.org" Thread-Topic: =?utf-8?B?W25ldG1vZF0g562U5aSNOiBzeXN0ZW0gY29uZmlndXJhdGlvbiBzeW5jIG1l?= =?utf-8?Q?chanism?= Thread-Index: AQHXiIq0Awemn8LHP0+K6kXl6hLp5Ktillyw Date: Wed, 4 Aug 2021 02:54:08 +0000 Message-ID: <18b6a5a6c00e43f99bbaeb80e7617232@huawei.com> References: <2d1262bc90fc49d08eb641365b959ea4@huawei.com> <0100017aab854793-eb989e55-8496-451b-84de-7f17cb0720d5-000000@email.amazonses.com> <0100017aee17493f-6b9b747c-f0f1-4a70-b929-aaa0350a555f-000000@email.amazonses.com> <0100017b08feb7ef-71cbbcaa-256f-4947-ab27-9fdd40f2993a-000000@email.amazonses.com> <20210803041523.vpq2ltompplxn53p@anna.jacobs.jacobs-university.de> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.136.113.80] Content-Type: multipart/related; boundary="_004_18b6a5a6c00e43f99bbaeb80e7617232huaweicom_"; type="multipart/alternative" MIME-Version: 1.0 X-CFilter-Loop: Reflected Archived-At: Subject: [netmod] =?utf-8?b?562U5aSNOiAg562U5aSNOiBzeXN0ZW0gY29uZmlndXJh?= =?utf-8?q?tion_sync_mechanism?= X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2021 02:54:22 -0000 --_004_18b6a5a6c00e43f99bbaeb80e7617232huaweicom_ Content-Type: multipart/alternative; boundary="_000_18b6a5a6c00e43f99bbaeb80e7617232huaweicom_" --_000_18b6a5a6c00e43f99bbaeb80e7617232huaweicom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksYW5keSwNCg0K5Y+R5Lu25Lq6OiBBbmR5IEJpZXJtYW4gW21haWx0bzphbmR5QHl1bWF3b3Jr cy5jb21dDQrlj5HpgIHml7bpl7Q6IDIwMjHlubQ45pyINOaXpSAxOjExDQrmlLbku7bkuro6IEZl bmdjaG9uZyAoZnJhbmspIDxmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4NCuaKhOmAgTogSnVl cmdlbiBTY2hvZW53YWVsZGVyIDxqLnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU+ OyBLZW50IFdhdHNlbiA8a2VudCtpZXRmQHdhdHNlbi5uZXQ+OyBCYWzDoXpzIExlbmd5ZWwgPGJh bGF6cy5sZW5neWVsPTQwZXJpY3Nzb24uY29tQGRtYXJjLmlldGYub3JnPjsgbmV0bW9kQGlldGYu b3JnDQrkuLvpopg6IFJlOiBbbmV0bW9kXSDnrZTlpI06IHN5c3RlbSBjb25maWd1cmF0aW9uIHN5 bmMgbWVjaGFuaXNtDQoNCg0KDQpPbiBUdWUsIEF1ZyAzLCAyMDIxIGF0IDEyOjM0IEFNIEZlbmdj aG9uZyAoZnJhbmspIDxmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTxtYWlsdG86ZnJhbmsuZmVu Z2Nob25nQGh1YXdlaS5jb20+PiB3cm90ZToNCkhpIGp1ZXJnZW4sDQogIFBsZWFzZSBzZWUgbXkg Y29tbWVudHMgaW5saW5lLg0KDQogIC9mcmFuaw0KDQotLS0tLemCruS7tuWOn+S7ti0tLS0tDQrl j5Hku7bkuro6IErDvHJnZW4gU2Now7Zud8OkbGRlciBbbWFpbHRvOmouc2Nob2Vud2FlbGRlckBq YWNvYnMtdW5pdmVyc2l0eS5kZTxtYWlsdG86ai5zY2hvZW53YWVsZGVyQGphY29icy11bml2ZXJz aXR5LmRlPl0NCuWPkemAgeaXtumXtDogMjAyMeW5tDjmnIgz5pelIDEyOjE1DQrmlLbku7bkuro6 IEZlbmdjaG9uZyAoZnJhbmspIDxmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTxtYWlsdG86ZnJh bmsuZmVuZ2Nob25nQGh1YXdlaS5jb20+Pg0K5oqE6YCBOiBBbmR5IEJpZXJtYW4gPGFuZHlAeXVt YXdvcmtzLmNvbTxtYWlsdG86YW5keUB5dW1hd29ya3MuY29tPj47IEtlbnQgV2F0c2VuIDxrZW50 K2lldGZAd2F0c2VuLm5ldDxtYWlsdG86a2VudCUyQmlldGZAd2F0c2VuLm5ldD4+OyBCYWzDoXpz IExlbmd5ZWwgPGJhbGF6cy5sZW5neWVsPTQwZXJpY3Nzb24uY29tQGRtYXJjLmlldGYub3JnPG1h aWx0bzo0MGVyaWNzc29uLmNvbUBkbWFyYy5pZXRmLm9yZz4+OyBuZXRtb2RAaWV0Zi5vcmc8bWFp bHRvOm5ldG1vZEBpZXRmLm9yZz4NCuS4u+mimDogUmU6IFtuZXRtb2RdIOetlOWkjTogc3lzdGVt IGNvbmZpZ3VyYXRpb24gc3luYyBtZWNoYW5pc20NCg0KT24gVHVlLCBBdWcgMDMsIDIwMjEgYXQg MDE6NDU6NDBBTSArMDAwMCwgRmVuZ2Nob25nIChmcmFuaykgd3JvdGU6DQo+IEhpIGFuZHkgYW5k IGFsbC4NCj4NCj4gSSBkb27igJl0IHRoaW5rIGdldC1kYXRhIHdpdGggb3JpZ2luIGNhbiBzb2x2 ZSB0aGUgaXNzdWVzIGJlbG93Og0KPg0KPg0KPiAxLiAgICAgICBTb21lIGxlYWZzIGxpa2UgaW50 ZXJmYWNlIHR5cGUgQ0FOIE5PVCBiZSBtb2RpZmllZCBieSB1c2VyLCBidXQgY2FuIGJlIHJlZmVy ZW5jZWQgYnkgb3RoZXIgY29uZmlnIG5vZGVzKGUuZy4gdXNpbmcgbGVhZnJlZiBvciBvY2N1ciBp biB3aGVuL211c3QpLiBUaGUgdmFsaWRhdGlvbiB3aWxsIGJlIGZhaWwgaWYgdGhlc2UgbGVhZnMg YXJlIG5vdCBiZSBjb25maWd1cmVkIGJ5IHVzZXIgbm93IGV4cGxpY2l0bHkgKHdlIGFzc3VtZSB0 aGVzZSBsZWFmcyBhcmUgb3B0aW9uYWwgYW5kIG5vIGRlZmF1bHQgdmFsdWUpLg0KDQpUaGUgaW50 ZXJmYWNlIHR5cGUgaW4gdGhlIFJGQyA4MzQzIG1vZHVsZSBpcyBjb25maWcgdHJ1ZS4gWUFORyBk b2VzIG5vdCBhbGxvdyB5b3UgdG8gcmVmZXIgdG8gY29uZmlnIGZhbHNlIG5vZGVzIGluIGNvbnN0 cmFpbnRzIHRoYXQgYXBwbHkgdG8gY29uZmlnIHRydWUgbm9kZXMuIEEgY29yZSBwcmluY2lwbGUg aXMgdGhhdCB0aGUgY29udGVudCBvZiBhIGNvbmZpZ3VyYXRpb24gZGF0YXN0b3JlIGNhbiBiZSB2 YWxpZGF0ZWQgd2l0aG91dCBrbm93aW5nIHRoZSBhY3R1YWwgc3RhdGUgb2YgdGhlIHN5c3RlbS4N Cg0KRnJhbms6IHllcywgaW50ZXJmYWNlIHR5cGUgaXMgYSBjb25maWcgbm9kZSwgYnV0IGl0IGlz bid0IGFsbG93IHRvIGJlIG1vZGlmaWVkLiBJZiBhIGNvbmZpZyBub2RlIHJlZmVyZW5jZSBpZi10 eXBlLCBpbiBvcmRlciB0byB2YWxpZGF0ZSBkYXRhIHN1Y2Nlc3NmdWxseSAsdXNlciBtdXN0IGhh dmUgdG8gY29uZmlnIGlmLXR5cGUgd2l0aCBkZXRlcm1pbmVkIHZhbHVlIGFnYWluLiBGb3IgZXhh bXBsZSwgdXNlciBtdXN0IGNvbmZpZyBpZi10eXBlIHdpdGggJ2V0aGVybmV0JyBmb3IgZXRoZXJu ZXQwLzAvMS4gSSBkb24ndCB0aGluayBpdCBtYWtlcyBzZW5zZS4gVGhlIGlmLXR5cGUgaGFzIGJl ZW4gY3JlYXRlZCBieSBzeXN0ZW0sIHdoZW4gcnVubmluZyBjb25maWcgaXMgbWVyZ2VkIHRvIDxv cGVyYXRpb25hbD4sIGl0IGNhbiB3b3JrIGFuZCB0aGUgdmFsaWRhdGlvbiBpcyBzdWNjZXNzZnVs LiBJZiB5b3UgdGhpbmsgcnVubmluZyBkYXRhc3RvcmUgaXMgc2VsZi1jb250YWluZWQsIEkgd2ls bCB0aGluayB0aGUgc3lzdGVtIGNvbmZpZ3VyYXRpb24gc2hvdWxkIGJlIGltcG9ydGVkIHRvIHJ1 bm5pbmcgZGF0YXN0b3JlIGF1dG9tYXRpY2FsbHkgdG8gZW5zdXJlIHN1Y2Nlc3NmdWwgdmFsaWRh dGlvbg0KDQoNCkkgZG91YnQgYW5vdGhlciByZXdyaXRlIG9mIGlldGYtaW50ZXJmYWNlcyB3b3Vs ZCBnYWluIG11Y2ggc3VwcG9ydC4NCg0KDQpGcmFuazpJIGRvbuKAmXQga25vdyB3aGF04oCZcyB0 aGUgYW5vdGhlciByZXdyaXRlIG9mIGlldGYtaW50ZXJmYWNlcy4NCg0KDQpUaGVyZSBhcmUgbWFu eSBvYmplY3RzIHRoYXQgaGF2ZSB1c2VyIGFjY2VzcyByZXN0cmljdGlvbnMgdGhhdCBhcmUgbm90 IHN0YW5kYXJkaXplZA0Kd2l0aCBtYWNoaW5lLXJlYWRhYmxlIHN0YXRlbWVudHMuICBJIGFtIGlu dGVyZXN0ZWQgaW4gdGhlIDIgdXNlIGNhc2VzIHRoYXQgQmFsYXpzIGRlc2NyaWJlZC4NClRoZSBz eXN0ZW0gZG9lcyBpdHMgb3duIGFjY2VzcyBjb250cm9sIChub3QgTkFDTSkgd3J0LyB0aGVzZSBv YmplY3RzLiBUaGUgc2VydmVyIGp1c3QNCnJlamVjdHMgdGhlIGVkaXQgcmVxdWVzdHMsIGV2ZW4g dGhvdWdoIHRoZSBzdGFuZGFyZCBZQU5HIGluZGljYXRlcyBpdCBzaG91bGQgYmUgd3JpdGFibGUu DQpTb21lIHN0YW5kYXJkIGV4dGVuc2lvbnMgdG8gdGFnIHRoZSBkYXRhIHdvdWxkIGhlbHAgYXBw bGljYXRpb25zIGJldHRlciBwcmVkaWN0IHNlcnZlciBiZWhhdmlvci4NCg0KRnJhbms6IHllcy4g SSBhZ3JlZSB3aXRoIHlvdS4gQnV0IGluIHNvbWUgY2FzZXMsIG9ubHkgcGFydCBvZiB0aGUgc2Ft ZSBsaXN04oCZcyBpbnN0YW5jZXMgYXJlIHJlYWQgb25seSwgd2UgY2FuIG5vdCBwbGFjZSBhIHRh ZyBvbiBZQU5HIG5vZGUuDQoNCg0KVGhlcmUgaXMgbm8gd2F5IGluIFlBTkcgMS4xIHRvIGhhdmUg YSBjb25maWc9dHJ1ZSBub2RlIHJlZmVyZW5jZSBjb25maWc9ZmFsc2UgaW4gdGhlIFhQYXRoLg0K KFdlbGwsIHdlIGltcGxlbWVudCBpdCBidXQgdGhlIGRldmVsb3BlciBoYXMgdG8gZW5hYmxlIGl0 KS4NCg0KRnJhbms6IEkgZG9u4oCZdCB0aGluayBpdOKAmXMgYSBjb3JyZWN0IHdheS4NCg0KSSBk byBub3Qgc2VlIHRoZSBwb2ludCBvZiB0aGUgc3lzdGVtIGRhdGFzdG9yZSBpZiBpdCBjb250YWlu cyBjb25maWc9dHJ1ZSBub2RlcywNCmp1c3Qgc28gdGhhdCBYUGF0aCBjYW4gcmVmZXJlbmNlIGl0 LiAgSSBkbyBub3QgYWdyZWUgdGhhdCBpdCBpcyB1c2VmdWwgb3IgZWFzeSB0byBpbXBsZW1lbnQs DQplc3BlY2lhbGx5IHNpbmNlIHRoZSBjb250ZW50cyBvZiA8c3lzdGVtPiBhcmUgdmlzaWJsZSBp biA8aW50ZW5kZWQ+LiAgUmVwcmVzZW50aW5nIHRoZSBwb3NzaWJsZQ0KaW5zdGFuY2VzIGlzIG5v bi10cml2aWFsIChlLmcuIHBhdHRlcm4gYWxsb3dlZCwgbm90IGEgZml4ZWQgbmFtZSwgcmVzdWx0 aW5nIGluIDYgbWlsbGlvbiBwb3NzaWJsZSB2YWx1ZXMpLg0KDQpGcmFuazogbXkgb2JqZWN0IGlz IHNvbHZpbmcgdGhlIGlzc3VlcyB0aGF0IHdoZW4gd2Ugd2FudCB0byByZWZlcmVuY2UgYSBzeXN0 ZW0gcHJlZGVmaW5lZCBpbnN0YW5jZSB3ZSBtdXN0IHJlY3JlYXRlIGl0Lg0KDQpJbiBSRkM3OTUw IHNlYyA2LjQuMSwgdGhlIGNvbnRleHQgb2YgWFBBVEggYWxzbyBpbmNsdWRlIGRlZmF1bHQgdmFs dWUgYW5kIE5QLWNvbnRhaW5lciwgZXZlbiB0aG91Z2ggdGhleSBhcmUgbm90IGV4aXN0IGluIGRh dGFzdG9yZS4NCltjaWQ6aW1hZ2UwMDEucG5nQDAxRDc4OTFFLkFGRERFQ0EwXQ0KSXTigJlzIG1h eWJlIGEgZ29vZCBpZGVhIHRoYXQgdGhlIGNvbnRleHQgb2YgWFBBVEggY2FuIGluY2x1ZGUgcnVu bmluZyBjb25maWd1cmF0aW9uIGFuZCB0aGUgc3lzdGVtIGNvbmZpZ3VyYXRpb24gYW5kIHdlIGRv buKAmXQgbmVlZCB0byBpbXBvcnQgc3lzdGVtIGNvbmZpZ3VyYXRpb24gdG8gcnVubmluZyBkYXRh c3RvcmUuDQpJbiB0aGlzIGNhc2UsIDxzeXN0ZW0+IGRhdGFzdG9yZSBpcyBuZWNlc3NhcnkgZm9y IGNsaWVudCwgYmVjYXVzZSB0aGUgY2xpZW50IG1heSBuZWVkICBzeXN0ZW0gY29uZmlndXJhdGlv biBmb3IgdmFsaWRhdGlvbi4NCg0KSWYgdGhlIHN5c3RlbSBkYXRhc3RvcmUgY29udGFpbnMgY29u ZmlnPWZhbHNlIG5vZGVzLCB0aGVuIHlvdSBhcmUgdGFsa2luZyBhYm91dCBhIHJld3JpdGUNCm9m IHRoZSBZQU5HIHZhbGlkYXRpb24gYXJjaGl0ZWN0dXJlIGFuZCBhIG5ldyB2ZXJzaW9uIG9mIFlB TkcuICBJTU8gdGhlcmUgaXMgbm8gbmVlZCBmb3IgdGhhdC4NCg0KRnJhbms6IEkgdGhpbmsgaXQg aXMgbm90IGNvcnJlY3Qgd2F5Lg0KDQpBbmR5DQoNCg0KPiAyLiAgICAgICBTb21lIGluc3RhbmNl cyBhcmUgZ2VuZXJhdGVkIGJ5IHN5c3RlbSwgYnV0IHRoZXNlIGluc3RhbmNlcyBjYW4gYmUgcmVm ZXJlbmNlZCBieSBvdGhlciBjb25maWcgbm9kZXMuIFRoZSB2YWxpZGF0aW9uIG11c3QgYmUgZmFp bCBpZiB0aGVzZSBpbnN0YW5jZXMgYXJlIG5vdCBiZSByZWNyZWF0ZWQgYnkgdXNlciBleHBsaWNp dGx5IG5vdy4NCg0KWWVzLCBhIGNvbmZpZ3VyYXRpb24gZGF0YXN0b3JlIGlzIHNlbGYtY29udGFp bmVkLiBJZiBhIGNsaWVudCB3YW50cyB0byBjb25maWd1cmUgdGhlIGludGVyZmFjZSB4LCBpdCBo YXMgdG8gZGVmaW5lIHRoZSBpbnRlcmZhY2UgeCBpbiB0aGUgY29uZmlndXJhdGlvbi4gTm90ZSB0 aGF0IHRoaXMgc2hvdWxkIG5vdCBiZSBjb25mdXNlZCB3aXRoIGEgc3lzdGVtIGdlbmVyYXRpbmcg YW4gaW50ZXJmYWNlIHggYWZ0ZXIgcHJvYmluZyB0aGUgaGFyZHdhcmUuIE5vdGUgdGhlIGRpZmZl cmVuY2UgYmV0d2VlbiBvcGVyYXRpb25hbCBzdGF0ZSwgYXBwbGllZCBjb25maWcsIGFuZCBydW5u aW5nIGNvbmZpZy4NCg0KRnJhbms6IGZvciBleGFtcGxlICwgcHJlZGVmaW5lZCBwb2xpY2llcyBh cmUgcHJvdmlkZWQgYnkgc3lzdGVtLCB1c2VyIGNvbmZpZ3VyYXRpb24gY2FuIHJlZmVyZW5jZSB0 aGVzZSBwcmVkZWZpbmVkIHBvbGljeSBkaXJlY3RseS4gYnV0IGJlY2F1c2UgcHJlZGVmaW5lZCBw b2xpY2llcyBhcmUgbm90IGNvbmZpZ3VyZWQgYnkgdXNlciBleHBsaWNpdGx5LCB0aGUgdmFsaWRh dGlvbiB3aWxsIGJlIGZhaWwuIElmIHlvdSB3YW50IHRvIGdldCBhIHN1Y2Nlc3NmdWwgdmFsaWRh dGlvbiAsIHVzZXIgTVVTVCBoYXZlIHRvIHJlZGVmaW5lZCB0aGUgc3lzdGVtIHByZWRlZmluZWQg cG9saWNpZXMuDQpTbywgc3lzdGVtIHByZWRlZmluZWQgZGF0YSBhcmUgdXNlbGVzcy4gSSB0aGlu ayBpdCBpcyB1bnJlYXNvbmFibGUuDQoNCg0KDQpMZXQgbWUgYWRkIHRoYXQgdGhlIHVuZGVybHlp bmcgbW9kZWwgaXMgdGhhdCB0aGUgY2xpZW50KHMpIGhhdmUgY29udHJvbCBvdmVyIHRoZSBjb25m aWd1cmF0aW9uLiBBIHN5c3RlbSBtYWtpbmcgYWQtaG9jIGNoYW5nZXMgdG8gdGhlIGNvbmZpZyAo ZXZlbiB3aXRoIHRoZSBiZXN0IGludGVudGlvbnMpIHdpbGwgYmUgc3VycHJpc2luZy4gSW4gdGhp cyBtb2RlbCwgdGhlIG9ubHkgd2F5IHRvIGluamVjdCBjb25maWcgaW50byBydW5uaW5nIG9uIHN5 c3RlbSBib290IGlzIHRvIGhhdmUgYSBjbGllbnQgbWFraW5nIGNoYW5nZXMgdG8gcnVubmluZyBm b2xsb3dpbmcgdGhlIG5vcm1hbCBwcm9jZWR1cmVzIC0gYXQgbGVhc3QgY29uY2VwdHVhbGx5LiBU aGlzIG1lYW5zIHRoYXQgY29uY2VwdHVhbGx5IHRoZSBvdGhlciBjbGllbnRzIG5lZWQgdG8gYmUg YXdhcmUgdGhhdCB0aGVyZSBpcyBhIHN5c3RlbSBjbGllbnQgaW5qZWN0aW5nIGNvbmZpZ3VyYXRp b24uDQoNCklmIHlvdSBmb2xsb3cgdGhpcyBsb2dpYywgaXQgc2VlbXMgd3JvbmcgdG8gZGVmaW5l IGEgc3lzdGVtIGRhdGFzdG9yZSB0aGF0IGlzIHNvbWVob3cgbWFnaWNhbGx5IG1lcmdlZCBpbnRv IHJ1bm5pbmcgLSBhbmQgaXQgaXMgbm90IG5lZWRlZC4NCg0KRnJhbms6IHN5c3RlbSBjb25maWd1 cmF0aW9uIG5vdCBvbmx5IGluY2x1ZGVzIHNvbWUgaW5zdGFuY2VzIGdlbmVyYXRlZCBvbiByZWJv b3QgdGltZSwgYnV0IGFsc28gaW5jbHVkZXMgdGhlIGNvbmZpZ3VyYXRpb24gd2hlbiBoYXJkd2Fy ZSBpcyBwbHVnZ2VkIGluLCBvciBhIGZ1bmN0aW9uIGlzIGVuYWJsZWQgKGZvciBleGFtcGxlLCBp biBodWF3ZWkncyBpbXBsZW1lbnRhdGlvbiwgd2hlbiBRT1MgZnVuY3Rpb24gaXMgZW5hYmxlZCwg bWFueSBxb3MgcHJlZGVmaW5lZCBwb2xpY2llcyBhcmUgY3JlYXRlZCBieSBzeXN0ZW0pIG9yIGEg dXNlci1jcmVhdGVkIGxpc3QgaW5zdGFuY2UgaXMgY3JlYXRlZCwgc29tZSBsZWFmcycgdmFsdWUg d2lsbCBiZSBjcmVhdGVkIGJ5IHN5c3RlbS4gU28gLCB3ZSBuZWVkIGEgc3lzdGVtIGRhdGFzdG9y ZSB0byBob2xkIHRoZXNlIGNvbmZpZ3VyYXRpb24uDQoNCj4gMy4gICAgICAgVXNlciBtYXkgbmVl ZCBrbm93IHdoYXQgdGhlIG9yaWdpbmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGlzLCBpZiB3ZSBn ZXQgZGF0YSBmcm9tIDxvcGVyYXRpb25hbD4sIHlvdSBtYXkgZ2V0IHRoZSBtb2RpZmllZCBzeXN0 ZW0gY29uZmlndXJhdGlvbi4oZm9yIGV4YW1wbGUsIHVzZXIgbW9kaWZ5IG9yIHRlbXBsYXRlIGlz IGV4cGFuZGVkLCBvciBvbmx5IGFjdGl2ZSBpbnN0YW5jZXMpDQoNCklmIHlvdSBoYXZlIG11bHRp cGxlIGNsaWVudHMgbWFuYWdpbmcgc2hhcmVkIGNvbmZpZ3VyYXRpb24sIHRoZW4geWVzIGl0IGlz IGdvb2QgaWYgdGhleSBhcmUgYXdhcmUgb2Ygd2hhdCBpcyBnb2luZyBvbi4gSSBhbSBub3Qgc3Vy ZSB5ZXQgdGhhdCBleHBvc2luZyBvdGhlciBjbGllbnRzIGludGVudGlvbnMgdmlhIGFkZGl0aW9u YWwgZGF0YXN0b3JlcyBhbmQgZGVmaW5pbmcgbWVyZ2UgbWVjaGFuaXNtcyBhbmQgc2VtYW50aWNz IGlzIHRoZSB3YXkgdG8gZ28uDQoNCj4gSSBkb27igJl0IGNhcmUgYWJvdXQgd2hldGhlciBzeXN0 ZW0gZGF0YXN0b3JlIGlzIGltcG9ydGVkIHRvIHJ1bm5pbmcgb3IgaW50ZW5kZWQgZGF0YXN0b3Jl cy4gQnV0IEkgdGhpbmsgaWYgYSBjb25maWcgbm9kZSByZWZlcmVuY2UgYSBzeXN0ZW0gbm9kZSwg dGhlIHZhbGlkYXRpb24gKHJ1bm5pbmcgb3IgaW50ZW5kZWQgZGF0YXN0b3Jlcykgd2lsbCBiZSBz dWNjZXNzZnVsIGV2ZW4gaWYgdGhlIHN5c3RlbSBub2RlIGlzIG5vdCBjb25maWd1cmVkIGJ5IHVz ZXIgZXhwbGljaXRseS4NCg0KSSBhbSBjb25jZXJuZWQgYWJvdXQgaGF2aW5nIHRvIGRlZmluZSB3 aGF0ICJpcyBpbXBvcnRlZCIgbWVhbnMgcHJlY2lzZWx5IGFuZCB3aGV0aGVyIG1vdmluZyB0byBh IG1vZGVsIG11bHRpcGxlIGRhdGFzdG9yZXMgaGF2ZSB0byBiZSBtZXJnZWQgYmVmb3JlIHZhbGlk YXRpb24gaXMgdGhlIHdheSB0byBnby4gV2UgYWxyZWFkeSBhY2tub3dsZWRnZWQgdGhhdCB0aGVy ZSBhcmUgdGVtcGxhdGUgZXhwYW5zaW9ucyBpbiBzb21lIGltcGxlbWVudGF0aW9ucyB3aXRob3V0 IHdvcmtpbmcgb3V0IGhvdyB0aGV5IHdvcmsuDQoNCj4gRXNwZWNpYWxseSBvbiB0aGUgY2xpZW50 IHNpZGUsICBpZiBhIGNsaWVudCBuZWVkIHZhbGlkYXRlIGFsbCBkYXRhIHJldHJpZXZlZCBmcm9t IHNlcnZlciwgdGhlIHZhbGlkYXRpb24gU0hPVUxEIGJlIHN1Y2Nlc3NmdWwuIElmIHN5c3RlbSBj b25maWd1cmF0aW9uIGFyZSBub3QgaW1wb3J0ZWQgdG8gcnVubmluZywgYXQgYSBtaW5pbXVtLCB0 aGUgY2xpZW50IG5lZWRzIHRvIGtub3cgd2hhdCB0aGUgb3JpZ2luYWwgc3lzdGVtIGNvbmZpZ3Vy YXRpb24gaXMuIEFub3RoZXIgd2F5IGlzIGFkZGluZyB3aXRoLXN5c3RlbS11c2VkIHBhcmFtZXRl ciB0byBnZXQtY29uZmlnIG9wZXJhdGlvbiB0byByZXRyaWV2ZWQgYWxsIHVzZXIgY29uZmlndXJh dGlvbiBhbmQgc3lzdGVtIGNvbmZpZ3VyYXRpb24gcmVmZXJlbmNlZCBieSB1c2VyIGNvbmZpZ3Vy YXRpb24uDQoNCkxldCBtZSByZXBlYXQsIGluIHRoZSBvcmlnaW5hbCBtb2RlbCwgdGhlIHJ1bm5p bmcgY29uZmlndXJhdGlvbiBkYXRhc3RvcmUgaXMgc2VsZi1jb250YWluZWQgYW5kIGNhbiBiZSB2 YWxpZGF0ZWQgd2l0aG91dCBrbm93aW5nIGFkZGl0aW9uYWwgZGF0YXN0b3Jlcy4NCg0KL2pzDQoN Ci0tDQpKdWVyZ2VuIFNjaG9lbndhZWxkZXIgICAgICAgICAgIEphY29icyBVbml2ZXJzaXR5IEJy ZW1lbiBnR21iSA0KUGhvbmU6ICs0OSA0MjEgMjAwIDM1ODcgICAgICAgICBDYW1wdXMgUmluZyAx IHwgMjg3NTkgQnJlbWVuIHwgR2VybWFueQ0KRmF4OiAgICs0OSA0MjEgMjAwIDMxMDMgICAgICAg ICA8aHR0cHM6Ly93d3cuamFjb2JzLXVuaXZlcnNpdHkuZGUvPg0K --_000_18b6a5a6c00e43f99bbaeb80e7617232huaweicom_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPCEtLVtp ZiAhbXNvXT48c3R5bGU+dlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7 YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0 I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPjwh W2VuZGlmXS0tPjxzdHlsZT48IS0tDQovKiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNl DQoJe2ZvbnQtZmFtaWx5OuWui+S9kzsNCglwYW5vc2UtMToyIDEgNiAwIDMgMSAxIDEgMSAxO30N CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0 IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJ cGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWls eToiXEDlrovkvZMiOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0KQGZvbnQtZmFj ZQ0KCXtmb250LWZhbWlseTrlvq7ova/pm4Xpu5E7DQoJcGFub3NlLTE6MiAxMSA1IDMgMiAyIDQg MiAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiXEDlvq7ova/pm4Xpu5EiOw0KCXBh bm9zZS0xOjIgMTEgNSAzIDIgMiA0IDIgMiA0O30NCi8qIFN0eWxlIERlZmluaXRpb25zICovDQpw Lk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjowY207DQoJ bWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6 5a6L5L2TO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5 Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0 ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0K CWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnNwYW4uRW1haWxT dHlsZTE3DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJD YWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0KLk1zb0NocERlZmF1bHQNCgl7 bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMt c2VyaWY7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6NjEyLjBwdCA3OTIuMHB0Ow0KCW1h cmdpbjo3Mi4wcHQgOTAuMHB0IDcyLjBwdCA5MC4wcHQ7fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtw YWdlOldvcmRTZWN0aW9uMTt9DQotLT48L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0K PG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4NCjwveG1sPjwh W2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVsYXlvdXQgdjpleHQ9 ImVkaXQiPg0KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+DQo8L286c2hhcGVsYXlv dXQ+PC94bWw+PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBsYW5nPSJaSC1DTiIgbGluaz0i Ymx1ZSIgdmxpbms9InB1cnBsZSI+DQo8ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEiPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0 O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdE Ij5IaSxhbmR5LDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVv dDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286 cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2Vy aWYiPuWPkeS7tuS6ujxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4g bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+ rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj4gQW5keSBCaWVybWFuIFttYWlsdG86YW5keUB5 dW1hd29ya3MuY29tXQ0KPGJyPg0KPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu MHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7lj5Hp gIHml7bpl7Q8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuIGxhbmc9 IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/p m4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+IDIwMjE8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYi PuW5tDxzcGFuIGxhbmc9IkVOLVVTIj44PC9zcGFuPuaciDxzcGFuIGxhbmc9IkVOLVVTIj40PC9z cGFuPuaXpTxzcGFuIGxhbmc9IkVOLVVTIj4NCiAxOjExPGJyPg0KPC9zcGFuPjxiPuaUtuS7tuS6 ujxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyI+IEZlbmdj aG9uZyAoZnJhbmspICZsdDtmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbSZndDs8YnI+DQo8L3Nw YW4+PGI+5oqE6YCBPHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVO LVVTIj4gSnVlcmdlbiBTY2hvZW53YWVsZGVyICZsdDtqLnNjaG9lbndhZWxkZXJAamFjb2JzLXVu aXZlcnNpdHkuZGUmZ3Q7OyBLZW50IFdhdHNlbiAmbHQ7a2VudCYjNDM7aWV0ZkB3YXRzZW4ubmV0 Jmd0OzsgQmFsPC9zcGFuPsOhPHNwYW4gbGFuZz0iRU4tVVMiPnpzIExlbmd5ZWwgJmx0O2JhbGF6 cy5sZW5neWVsPTQwZXJpY3Nzb24uY29tQGRtYXJjLmlldGYub3JnJmd0OzsgbmV0bW9kQGlldGYu b3JnPGJyPg0KPC9zcGFuPjxiPuS4u+mimDxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvYj48 c3BhbiBsYW5nPSJFTi1VUyI+IFJlOiBbbmV0bW9kXSA8L3NwYW4+DQrnrZTlpI08c3BhbiBsYW5n PSJFTi1VUyI+OiBzeXN0ZW0gY29uZmlndXJhdGlvbiBzeW5jIG1lY2hhbmlzbTxvOnA+PC9vOnA+ PC9zcGFuPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1V UyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9w Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4m bmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBsYW5nPSJFTi1VUyI+T24gVHVlLCBBdWcgMywgMjAyMSBhdCAxMjozNCBBTSBGZW5n Y2hvbmcgKGZyYW5rKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWku Y29tIj5mcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTwvYT4mZ3Q7IHdyb3RlOjxvOnA+PC9vOnA+ PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRl ci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA2LjBwdDttYXJn aW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGNtIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+PHNwYW4gbGFuZz0iRU4tVVMiPkhpIGp1ZXJnZW4s PGJyPg0KJm5ic3A7IFBsZWFzZSBzZWUgbXkgY29tbWVudHMgaW5saW5lLjxicj4NCjxicj4NCiZu YnNwOyAvZnJhbms8YnI+DQo8YnI+DQotLS0tLTwvc3Bhbj7pgq7ku7bljp/ku7Y8c3BhbiBsYW5n PSJFTi1VUyI+LS0tLS08YnI+DQo8L3NwYW4+5Y+R5Lu25Lq6PHNwYW4gbGFuZz0iRU4tVVMiPjog SsO8cmdlbiBTY2jDtm53w6RsZGVyIFttYWlsdG86PGEgaHJlZj0ibWFpbHRvOmouc2Nob2Vud2Fl bGRlckBqYWNvYnMtdW5pdmVyc2l0eS5kZSIgdGFyZ2V0PSJfYmxhbmsiPmouc2Nob2Vud2FlbGRl ckBqYWNvYnMtdW5pdmVyc2l0eS5kZTwvYT5dDQo8YnI+DQo8L3NwYW4+5Y+R6YCB5pe26Ze0PHNw YW4gbGFuZz0iRU4tVVMiPjogMjAyMTwvc3Bhbj7lubQ8c3BhbiBsYW5nPSJFTi1VUyI+ODwvc3Bh bj7mnIg8c3BhbiBsYW5nPSJFTi1VUyI+Mzwvc3Bhbj7ml6U8c3BhbiBsYW5nPSJFTi1VUyI+IDEy OjE1PGJyPg0KPC9zcGFuPuaUtuS7tuS6ujxzcGFuIGxhbmc9IkVOLVVTIj46IEZlbmdjaG9uZyAo ZnJhbmspICZsdDs8YSBocmVmPSJtYWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20iIHRh cmdldD0iX2JsYW5rIj5mcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTwvYT4mZ3Q7PGJyPg0KPC9z cGFuPuaKhOmAgTxzcGFuIGxhbmc9IkVOLVVTIj46IEFuZHkgQmllcm1hbiAmbHQ7PGEgaHJlZj0i bWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmFuZHlAeXVtYXdvcmtz LmNvbTwvYT4mZ3Q7OyBLZW50IFdhdHNlbiAmbHQ7PGEgaHJlZj0ibWFpbHRvOmtlbnQlMkJpZXRm QHdhdHNlbi5uZXQiIHRhcmdldD0iX2JsYW5rIj5rZW50JiM0MztpZXRmQHdhdHNlbi5uZXQ8L2E+ Jmd0OzsgQmFsw6F6cyBMZW5neWVsICZsdDtiYWxhenMubGVuZ3llbD08YSBocmVmPSJtYWlsdG86 NDBlcmljc3Nvbi5jb21AZG1hcmMuaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj40MGVyaWNzc29u LmNvbUBkbWFyYy5pZXRmLm9yZzwvYT4mZ3Q7Ow0KPGEgaHJlZj0ibWFpbHRvOm5ldG1vZEBpZXRm Lm9yZyIgdGFyZ2V0PSJfYmxhbmsiPm5ldG1vZEBpZXRmLm9yZzwvYT48YnI+DQo8L3NwYW4+5Li7 6aKYPHNwYW4gbGFuZz0iRU4tVVMiPjogUmU6IFtuZXRtb2RdIDwvc3Bhbj7nrZTlpI08c3BhbiBs YW5nPSJFTi1VUyI+OiBzeXN0ZW0gY29uZmlndXJhdGlvbiBzeW5jIG1lY2hhbmlzbTxicj4NCjxi cj4NCk9uIFR1ZSwgQXVnIDAzLCAyMDIxIGF0IDAxOjQ1OjQwQU0gJiM0MzswMDAwLCBGZW5nY2hv bmcgKGZyYW5rKSB3cm90ZTo8YnI+DQomZ3Q7IEhpIGFuZHkgYW5kIGFsbC48YnI+DQomZ3Q7IDxi cj4NCiZndDsgSSBkb27igJl0IHRoaW5rIGdldC1kYXRhIHdpdGggb3JpZ2luIGNhbiBzb2x2ZSB0 aGUgaXNzdWVzIGJlbG93Ojxicj4NCiZndDsgPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDEuJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7U29tZSBsZWFmcyBsaWtlIGludGVyZmFjZSB0eXBlIENBTiBO T1QgYmUgbW9kaWZpZWQgYnkgdXNlciwgYnV0IGNhbiBiZSByZWZlcmVuY2VkIGJ5IG90aGVyIGNv bmZpZyBub2RlcyhlLmcuIHVzaW5nIGxlYWZyZWYgb3Igb2NjdXIgaW4gd2hlbi9tdXN0KS4gVGhl IHZhbGlkYXRpb24gd2lsbCBiZSBmYWlsIGlmIHRoZXNlIGxlYWZzIGFyZSBub3QgYmUgY29uZmln dXJlZCBieSB1c2VyIG5vdyBleHBsaWNpdGx5ICh3ZSBhc3N1bWUNCiB0aGVzZSBsZWFmcyBhcmUg b3B0aW9uYWwgYW5kIG5vIGRlZmF1bHQgdmFsdWUpLjxicj4NCjxicj4NClRoZSBpbnRlcmZhY2Ug dHlwZSBpbiB0aGUgUkZDIDgzNDMgbW9kdWxlIGlzIGNvbmZpZyB0cnVlLiBZQU5HIGRvZXMgbm90 IGFsbG93IHlvdSB0byByZWZlciB0byBjb25maWcgZmFsc2Ugbm9kZXMgaW4gY29uc3RyYWludHMg dGhhdCBhcHBseSB0byBjb25maWcgdHJ1ZSBub2Rlcy4gQSBjb3JlIHByaW5jaXBsZSBpcyB0aGF0 IHRoZSBjb250ZW50IG9mIGEgY29uZmlndXJhdGlvbiBkYXRhc3RvcmUgY2FuIGJlIHZhbGlkYXRl ZCB3aXRob3V0IGtub3dpbmcNCiB0aGUgYWN0dWFsIHN0YXRlIG9mIHRoZSBzeXN0ZW0uPGJyPg0K PGJyPg0KRnJhbms6IHllcywgaW50ZXJmYWNlIHR5cGUgaXMgYSBjb25maWcgbm9kZSwgYnV0IGl0 IGlzbid0IGFsbG93IHRvIGJlIG1vZGlmaWVkLiBJZiBhIGNvbmZpZyBub2RlIHJlZmVyZW5jZSBp Zi10eXBlLCBpbiBvcmRlciB0byB2YWxpZGF0ZSBkYXRhIHN1Y2Nlc3NmdWxseSAsdXNlciBtdXN0 IGhhdmUgdG8gY29uZmlnIGlmLXR5cGUgd2l0aCBkZXRlcm1pbmVkIHZhbHVlIGFnYWluLiBGb3Ig ZXhhbXBsZSwgdXNlciBtdXN0IGNvbmZpZyBpZi10eXBlIHdpdGgNCiAnZXRoZXJuZXQnIGZvciBl dGhlcm5ldDAvMC8xLiBJIGRvbid0IHRoaW5rIGl0IG1ha2VzIHNlbnNlLiBUaGUgaWYtdHlwZSBo YXMgYmVlbiBjcmVhdGVkIGJ5IHN5c3RlbSwgd2hlbiBydW5uaW5nIGNvbmZpZyBpcyBtZXJnZWQg dG8gJmx0O29wZXJhdGlvbmFsJmd0OywgaXQgY2FuIHdvcmsgYW5kIHRoZSB2YWxpZGF0aW9uIGlz IHN1Y2Nlc3NmdWwuIElmIHlvdSB0aGluayBydW5uaW5nIGRhdGFzdG9yZSBpcyBzZWxmLWNvbnRh aW5lZCwgSSB3aWxsIHRoaW5rDQogdGhlIHN5c3RlbSBjb25maWd1cmF0aW9uIHNob3VsZCBiZSBp bXBvcnRlZCB0byBydW5uaW5nIGRhdGFzdG9yZSBhdXRvbWF0aWNhbGx5IHRvIGVuc3VyZSBzdWNj ZXNzZnVsIHZhbGlkYXRpb248bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8 ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7 PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxk aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+SSBkb3VidCBhbm90 aGVyIHJld3JpdGUgb2YgaWV0Zi1pbnRlcmZhY2VzIHdvdWxkIGdhaW4gbXVjaCBzdXBwb3J0Ljxv OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286 cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0 eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fu cy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0Qi PkZyYW5rOkkgZG9u4oCZdCBrbm93IHdoYXTigJlzIHRoZSBhbm90aGVyIHJld3JpdGUgb2YgaWV0 Zi1pbnRlcmZhY2VzLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+ PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t VVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTox MC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMx RjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi PjxzcGFuIGxhbmc9IkVOLVVTIj5UaGVyZSBhcmUgbWFueSBvYmplY3RzIHRoYXQgaGF2ZSB1c2Vy IGFjY2VzcyByZXN0cmljdGlvbnMgdGhhdCBhcmUgbm90IHN0YW5kYXJkaXplZDxvOnA+PC9vOnA+ PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxh bmc9IkVOLVVTIj53aXRoIG1hY2hpbmUtcmVhZGFibGUgc3RhdGVtZW50cy4mbmJzcDsgSSBhbSBp bnRlcmVzdGVkIGluIHRoZSAyIHVzZSBjYXNlcyB0aGF0IEJhbGF6cyBkZXNjcmliZWQuPG86cD48 L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw YW4gbGFuZz0iRU4tVVMiPlRoZSBzeXN0ZW0gZG9lcyBpdHMgb3duIGFjY2VzcyBjb250cm9sIChu b3QgTkFDTSkgd3J0LyB0aGVzZSBvYmplY3RzLiBUaGUgc2VydmVyIGp1c3Q8bzpwPjwvbzpwPjwv c3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n PSJFTi1VUyI+cmVqZWN0cyB0aGUgZWRpdCByZXF1ZXN0cywgZXZlbiB0aG91Z2ggdGhlIHN0YW5k YXJkIFlBTkcgaW5kaWNhdGVzIGl0IHNob3VsZCBiZSB3cml0YWJsZS48bzpwPjwvbzpwPjwvc3Bh bj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF Ti1VUyI+U29tZSBzdGFuZGFyZCBleHRlbnNpb25zIHRvIHRhZyB0aGUgZGF0YSB3b3VsZCBoZWxw IGFwcGxpY2F0aW9ucyBiZXR0ZXIgcHJlZGljdCBzZXJ2ZXIgYmVoYXZpb3IuPG86cD48L286cD48 L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFu Zz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48 L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt c2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2Nv bG9yOiMxRjQ5N0QiPkZyYW5rOiB5ZXMuIEkgYWdyZWUgd2l0aCB5b3UuIEJ1dCBpbiBzb21lIGNh c2VzLCBvbmx5IHBhcnQgb2YgdGhlIHNhbWUgbGlzdOKAmXMgaW5zdGFuY2VzIGFyZSByZWFkIG9u bHksIHdlIGNhbiBub3QgcGxhY2UgYSB0YWcgb24gWUFORyBub2RlLjxvOnA+PC9vOnA+PC9zcGFu PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u dC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7 Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQt ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpw PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhlcmUgaXMgbm8gd2F5IGluIFlBTkcgMS4xIHRvIGhh dmUgYSBjb25maWc9dHJ1ZSBub2RlIHJlZmVyZW5jZSBjb25maWc9ZmFsc2UgaW4gdGhlIFhQYXRo LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4oV2VsbCwgd2UgaW1wbGVtZW50IGl0IGJ1dCB0aGUgZGV2 ZWxvcGVyIGhhcyB0byBlbmFibGUgaXQpLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+ PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh bGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5GcmFuazogSSBkb27igJl0IHRo aW5rIGl04oCZcyBhIGNvcnJlY3Qgd2F5LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0K PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNw OzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 c3BhbiBsYW5nPSJFTi1VUyI+SSBkbyBub3Qgc2VlIHRoZSBwb2ludCBvZiB0aGUgc3lzdGVtIGRh dGFzdG9yZSBpZiBpdCBjb250YWlucyBjb25maWc9dHJ1ZSBub2Rlcyw8bzpwPjwvbzpwPjwvc3Bh bj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF Ti1VUyI+anVzdCBzbyB0aGF0IFhQYXRoIGNhbiByZWZlcmVuY2UgaXQuJm5ic3A7IEkgZG8gbm90 IGFncmVlIHRoYXQgaXQgaXMgdXNlZnVsIG9yIGVhc3kgdG8gaW1wbGVtZW50LDxvOnA+PC9vOnA+ PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxh bmc9IkVOLVVTIj5lc3BlY2lhbGx5IHNpbmNlIHRoZSBjb250ZW50cyBvZiAmbHQ7c3lzdGVtJmd0 OyBhcmUgdmlzaWJsZSBpbiAmbHQ7aW50ZW5kZWQmZ3Q7LiZuYnNwOyBSZXByZXNlbnRpbmcgdGhl IHBvc3NpYmxlPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPmluc3RhbmNlcyBpcyBub24tdHJpdmlhbCAo ZS5nLiBwYXR0ZXJuIGFsbG93ZWQsIG5vdCBhIGZpeGVkIG5hbWUsIHJlc3VsdGluZyBpbiA2IG1p bGxpb24gcG9zc2libGUgdmFsdWVzKS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxk aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9y OiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWls eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+RnJhbms6IG15 IG9iamVjdCBpcyBzb2x2aW5nIHRoZSBpc3N1ZXMgdGhhdCB3aGVuIHdlIHdhbnQgdG8gcmVmZXJl bmNlIGEgc3lzdGVtIHByZWRlZmluZWQgaW5zdGFuY2Ugd2UgbXVzdCByZWNyZWF0ZSBpdC48bzpw PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1V UyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90 OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl OjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6 IzFGNDk3RCI+SW4gUkZDNzk1MCBzZWMgNi40LjEsIHRoZSBjb250ZXh0IG9mIFhQQVRIIGFsc28g aW5jbHVkZSBkZWZhdWx0IHZhbHVlIGFuZCBOUC1jb250YWluZXIsIGV2ZW4gdGhvdWdoIHRoZXkg YXJlIG5vdCBleGlzdCBpbiBkYXRhc3RvcmUuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0 O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdE Ij48aW1nIGJvcmRlcj0iMCIgd2lkdGg9IjY2MCIgaGVpZ2h0PSIxMjQiIGlkPSLlm77niYdfeDAw MjBfMSIgc3JjPSJjaWQ6aW1hZ2UwMDEucG5nQDAxRDc4OTFFLkFGRERFQ0EwIj48L3NwYW4+PHNw YW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90 O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPjwvbzpwPjwvc3Bh bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv bnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlm O2NvbG9yOiMxRjQ5N0QiPkl04oCZcyBtYXliZSBhIGdvb2QgaWRlYSB0aGF0IHRoZSBjb250ZXh0 IG9mIFhQQVRIIGNhbiBpbmNsdWRlIHJ1bm5pbmcgY29uZmlndXJhdGlvbiBhbmQgdGhlIHN5c3Rl bSBjb25maWd1cmF0aW9uIGFuZCB3ZSBkb27igJl0IG5lZWQgdG8gaW1wb3J0IHN5c3RlbQ0KIGNv bmZpZ3VyYXRpb24gdG8gcnVubmluZyBkYXRhc3RvcmUuPG86cD48L286cD48L3NwYW4+PC9wPg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6 MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjoj MUY0OTdEIj5JbiB0aGlzIGNhc2UsICZsdDtzeXN0ZW0mZ3Q7IGRhdGFzdG9yZSBpcyBuZWNlc3Nh cnkgZm9yIGNsaWVudCwgYmVjYXVzZSB0aGUgY2xpZW50IG1heSBuZWVkICZuYnNwO3N5c3RlbSBj b25maWd1cmF0aW9uIGZvciB2YWxpZGF0aW9uLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVw dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3 RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPklmIHRoZSBzeXN0ZW0gZGF0YXN0b3JlIGNv bnRhaW5zIGNvbmZpZz1mYWxzZSBub2RlcywgdGhlbiB5b3UgYXJlIHRhbGtpbmcgYWJvdXQgYSBy ZXdyaXRlPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPm9mIHRoZSBZQU5HIHZhbGlkYXRpb24gYXJjaGl0 ZWN0dXJlIGFuZCBhIG5ldyB2ZXJzaW9uIG9mIFlBTkcuJm5ic3A7IElNTyB0aGVyZSBpcyBubyBu ZWVkIGZvciB0aGF0LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh bj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF Ti1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkZyYW5rOiBJIHRoaW5rIGl0IGlzIG5vdCBjb3Jy ZWN0IHdheS48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48 bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+QW5keTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwv ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpw PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9k aXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0ND Q0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21h cmdpbi1yaWdodDowY20iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMi PiZndDsgMi4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtTb21lIGluc3RhbmNlcyBhcmUgZ2Vu ZXJhdGVkIGJ5IHN5c3RlbSwgYnV0IHRoZXNlIGluc3RhbmNlcyBjYW4gYmUgcmVmZXJlbmNlZCBi eSBvdGhlciBjb25maWcgbm9kZXMuIFRoZSB2YWxpZGF0aW9uIG11c3QgYmUgZmFpbCBpZiB0aGVz ZSBpbnN0YW5jZXMgYXJlIG5vdCBiZSByZWNyZWF0ZWQgYnkgdXNlciBleHBsaWNpdGx5IG5vdy48 YnI+DQo8YnI+DQpZZXMsIGEgY29uZmlndXJhdGlvbiBkYXRhc3RvcmUgaXMgc2VsZi1jb250YWlu ZWQuIElmIGEgY2xpZW50IHdhbnRzIHRvIGNvbmZpZ3VyZSB0aGUgaW50ZXJmYWNlIHgsIGl0IGhh cyB0byBkZWZpbmUgdGhlIGludGVyZmFjZSB4IGluIHRoZSBjb25maWd1cmF0aW9uLiBOb3RlIHRo YXQgdGhpcyBzaG91bGQgbm90IGJlIGNvbmZ1c2VkIHdpdGggYSBzeXN0ZW0gZ2VuZXJhdGluZyBh biBpbnRlcmZhY2UgeCBhZnRlciBwcm9iaW5nIHRoZSBoYXJkd2FyZS4NCiBOb3RlIHRoZSBkaWZm ZXJlbmNlIGJldHdlZW4gb3BlcmF0aW9uYWwgc3RhdGUsIGFwcGxpZWQgY29uZmlnLCBhbmQgcnVu bmluZyBjb25maWcuPGJyPg0KPGJyPg0KRnJhbms6IGZvciBleGFtcGxlICwgcHJlZGVmaW5lZCBw b2xpY2llcyBhcmUgcHJvdmlkZWQgYnkgc3lzdGVtLCB1c2VyIGNvbmZpZ3VyYXRpb24gY2FuIHJl ZmVyZW5jZSB0aGVzZSBwcmVkZWZpbmVkIHBvbGljeSBkaXJlY3RseS4gYnV0IGJlY2F1c2UgcHJl ZGVmaW5lZCBwb2xpY2llcyBhcmUgbm90IGNvbmZpZ3VyZWQgYnkgdXNlciBleHBsaWNpdGx5LCB0 aGUgdmFsaWRhdGlvbiB3aWxsIGJlIGZhaWwuIElmIHlvdSB3YW50IHRvIGdldCBhIHN1Y2Nlc3Nm dWwNCiB2YWxpZGF0aW9uICwgdXNlciBNVVNUIGhhdmUgdG8gcmVkZWZpbmVkIHRoZSBzeXN0ZW0g cHJlZGVmaW5lZCBwb2xpY2llcy48YnI+DQpTbywgc3lzdGVtIHByZWRlZmluZWQgZGF0YSBhcmUg dXNlbGVzcy4gSSB0aGluayBpdCBpcyB1bnJlYXNvbmFibGUuPGJyPg0KPGJyPg0KPGJyPg0KPGJy Pg0KTGV0IG1lIGFkZCB0aGF0IHRoZSB1bmRlcmx5aW5nIG1vZGVsIGlzIHRoYXQgdGhlIGNsaWVu dChzKSBoYXZlIGNvbnRyb2wgb3ZlciB0aGUgY29uZmlndXJhdGlvbi4gQSBzeXN0ZW0gbWFraW5n IGFkLWhvYyBjaGFuZ2VzIHRvIHRoZSBjb25maWcgKGV2ZW4gd2l0aCB0aGUgYmVzdCBpbnRlbnRp b25zKSB3aWxsIGJlIHN1cnByaXNpbmcuIEluIHRoaXMgbW9kZWwsIHRoZSBvbmx5IHdheSB0byBp bmplY3QgY29uZmlnIGludG8gcnVubmluZyBvbiBzeXN0ZW0NCiBib290IGlzIHRvIGhhdmUgYSBj bGllbnQgbWFraW5nIGNoYW5nZXMgdG8gcnVubmluZyBmb2xsb3dpbmcgdGhlIG5vcm1hbCBwcm9j ZWR1cmVzIC0gYXQgbGVhc3QgY29uY2VwdHVhbGx5LiBUaGlzIG1lYW5zIHRoYXQgY29uY2VwdHVh bGx5IHRoZSBvdGhlciBjbGllbnRzIG5lZWQgdG8gYmUgYXdhcmUgdGhhdCB0aGVyZSBpcyBhIHN5 c3RlbSBjbGllbnQgaW5qZWN0aW5nIGNvbmZpZ3VyYXRpb24uPGJyPg0KPGJyPg0KSWYgeW91IGZv bGxvdyB0aGlzIGxvZ2ljLCBpdCBzZWVtcyB3cm9uZyB0byBkZWZpbmUgYSBzeXN0ZW0gZGF0YXN0 b3JlIHRoYXQgaXMgc29tZWhvdyBtYWdpY2FsbHkgbWVyZ2VkIGludG8gcnVubmluZyAtIGFuZCBp dCBpcyBub3QgbmVlZGVkLjxicj4NCjxicj4NCkZyYW5rOiBzeXN0ZW0gY29uZmlndXJhdGlvbiBu b3Qgb25seSBpbmNsdWRlcyBzb21lIGluc3RhbmNlcyBnZW5lcmF0ZWQgb24gcmVib290IHRpbWUs IGJ1dCBhbHNvIGluY2x1ZGVzIHRoZSBjb25maWd1cmF0aW9uIHdoZW4gaGFyZHdhcmUgaXMgcGx1 Z2dlZCBpbiwgb3IgYSBmdW5jdGlvbiBpcyBlbmFibGVkIChmb3IgZXhhbXBsZSwgaW4gaHVhd2Vp J3MgaW1wbGVtZW50YXRpb24sIHdoZW4gUU9TIGZ1bmN0aW9uIGlzIGVuYWJsZWQsIG1hbnkgcW9z DQogcHJlZGVmaW5lZCBwb2xpY2llcyBhcmUgY3JlYXRlZCBieSBzeXN0ZW0pIG9yIGEgdXNlci1j cmVhdGVkIGxpc3QgaW5zdGFuY2UgaXMgY3JlYXRlZCwgc29tZSBsZWFmcycgdmFsdWUgd2lsbCBi ZSBjcmVhdGVkIGJ5IHN5c3RlbS4gU28gLCB3ZSBuZWVkIGEgc3lzdGVtIGRhdGFzdG9yZSB0byBo b2xkIHRoZXNlIGNvbmZpZ3VyYXRpb24uPGJyPg0KPGJyPg0KJmd0OyAzLiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwO1VzZXIgbWF5IG5lZWQga25vdyB3aGF0IHRoZSBvcmlnaW5hbCBzeXN0ZW0g Y29uZmlndXJhdGlvbiBpcywgaWYgd2UgZ2V0IGRhdGEgZnJvbSAmbHQ7b3BlcmF0aW9uYWwmZ3Q7 LCB5b3UgbWF5IGdldCB0aGUgbW9kaWZpZWQgc3lzdGVtIGNvbmZpZ3VyYXRpb24uKGZvciBleGFt cGxlLCB1c2VyIG1vZGlmeSBvciB0ZW1wbGF0ZSBpcyBleHBhbmRlZCwgb3Igb25seSBhY3RpdmUg aW5zdGFuY2VzKTxicj4NCjxicj4NCklmIHlvdSBoYXZlIG11bHRpcGxlIGNsaWVudHMgbWFuYWdp bmcgc2hhcmVkIGNvbmZpZ3VyYXRpb24sIHRoZW4geWVzIGl0IGlzIGdvb2QgaWYgdGhleSBhcmUg YXdhcmUgb2Ygd2hhdCBpcyBnb2luZyBvbi4gSSBhbSBub3Qgc3VyZSB5ZXQgdGhhdCBleHBvc2lu ZyBvdGhlciBjbGllbnRzIGludGVudGlvbnMgdmlhIGFkZGl0aW9uYWwgZGF0YXN0b3JlcyBhbmQg ZGVmaW5pbmcgbWVyZ2UgbWVjaGFuaXNtcyBhbmQgc2VtYW50aWNzIGlzIHRoZSB3YXkNCiB0byBn by48YnI+DQo8YnI+DQomZ3Q7IEkgZG9u4oCZdCBjYXJlIGFib3V0IHdoZXRoZXIgc3lzdGVtIGRh dGFzdG9yZSBpcyBpbXBvcnRlZCB0byBydW5uaW5nIG9yIGludGVuZGVkIGRhdGFzdG9yZXMuIEJ1 dCBJIHRoaW5rIGlmIGEgY29uZmlnIG5vZGUgcmVmZXJlbmNlIGEgc3lzdGVtIG5vZGUsIHRoZSB2 YWxpZGF0aW9uIChydW5uaW5nIG9yIGludGVuZGVkIGRhdGFzdG9yZXMpIHdpbGwgYmUgc3VjY2Vz c2Z1bCBldmVuIGlmIHRoZSBzeXN0ZW0gbm9kZSBpcyBub3QgY29uZmlndXJlZCBieQ0KIHVzZXIg ZXhwbGljaXRseS48YnI+DQo8YnI+DQpJIGFtIGNvbmNlcm5lZCBhYm91dCBoYXZpbmcgdG8gZGVm aW5lIHdoYXQgJnF1b3Q7aXMgaW1wb3J0ZWQmcXVvdDsgbWVhbnMgcHJlY2lzZWx5IGFuZCB3aGV0 aGVyIG1vdmluZyB0byBhIG1vZGVsIG11bHRpcGxlIGRhdGFzdG9yZXMgaGF2ZSB0byBiZSBtZXJn ZWQgYmVmb3JlIHZhbGlkYXRpb24gaXMgdGhlIHdheSB0byBnby4gV2UgYWxyZWFkeSBhY2tub3ds ZWRnZWQgdGhhdCB0aGVyZSBhcmUgdGVtcGxhdGUgZXhwYW5zaW9ucyBpbiBzb21lIGltcGxlbWVu dGF0aW9ucw0KIHdpdGhvdXQgd29ya2luZyBvdXQgaG93IHRoZXkgd29yay48YnI+DQo8YnI+DQom Z3Q7IEVzcGVjaWFsbHkgb24gdGhlIGNsaWVudCBzaWRlLCZuYnNwOyBpZiBhIGNsaWVudCBuZWVk IHZhbGlkYXRlIGFsbCBkYXRhIHJldHJpZXZlZCBmcm9tIHNlcnZlciwgdGhlIHZhbGlkYXRpb24g U0hPVUxEIGJlIHN1Y2Nlc3NmdWwuIElmIHN5c3RlbSBjb25maWd1cmF0aW9uIGFyZSBub3QgaW1w b3J0ZWQgdG8gcnVubmluZywgYXQgYSBtaW5pbXVtLCB0aGUgY2xpZW50IG5lZWRzIHRvIGtub3cg d2hhdCB0aGUgb3JpZ2luYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24NCiBpcy4gQW5vdGhlciB3YXkg aXMgYWRkaW5nIHdpdGgtc3lzdGVtLXVzZWQgcGFyYW1ldGVyIHRvIGdldC1jb25maWcgb3BlcmF0 aW9uIHRvIHJldHJpZXZlZCBhbGwgdXNlciBjb25maWd1cmF0aW9uIGFuZCBzeXN0ZW0gY29uZmln dXJhdGlvbiByZWZlcmVuY2VkIGJ5IHVzZXIgY29uZmlndXJhdGlvbi48YnI+DQo8YnI+DQpMZXQg bWUgcmVwZWF0LCBpbiB0aGUgb3JpZ2luYWwgbW9kZWwsIHRoZSBydW5uaW5nIGNvbmZpZ3VyYXRp b24gZGF0YXN0b3JlIGlzIHNlbGYtY29udGFpbmVkIGFuZCBjYW4gYmUgdmFsaWRhdGVkIHdpdGhv dXQga25vd2luZyBhZGRpdGlvbmFsIGRhdGFzdG9yZXMuPGJyPg0KPGJyPg0KL2pzPGJyPg0KPGJy Pg0KLS0gPGJyPg0KSnVlcmdlbiBTY2hvZW53YWVsZGVyJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDtKYWNvYnMgVW5pdmVyc2l0eSBCcmVtZW4gZ0dtYkg8YnI+DQpQaG9u ZTogJiM0Mzs0OSA0MjEgMjAwIDM1ODcmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 Q2FtcHVzIFJpbmcgMSB8IDI4NzU5IEJyZW1lbiB8IEdlcm1hbnk8YnI+DQpGYXg6Jm5ic3A7ICZu YnNwOyYjNDM7NDkgNDIxIDIwMCAzMTAzJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyZsdDs8YSBocmVmPSJodHRwczovL3d3dy5qYWNvYnMtdW5pdmVyc2l0eS5kZS8iIHRhcmdldD0i X2JsYW5rIj5odHRwczovL3d3dy5qYWNvYnMtdW5pdmVyc2l0eS5kZS88L2E+Jmd0OzxvOnA+PC9v OnA+PC9zcGFuPjwvcD4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwv Ym9keT4NCjwvaHRtbD4NCg== --_000_18b6a5a6c00e43f99bbaeb80e7617232huaweicom_-- --_004_18b6a5a6c00e43f99bbaeb80e7617232huaweicom_ Content-Type: image/png; name="image001.png" Content-Description: image001.png Content-Disposition: inline; filename="image001.png"; size=5998; creation-date="Wed, 04 Aug 2021 02:54:08 GMT"; modification-date="Wed, 04 Aug 2021 02:54:08 GMT" Content-ID: Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAApQAAAB8CAYAAADXRyD6AAAAAXNSR0IArs4c6QAAAARnQU1BAACx jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABcDSURBVHhe7dtbkiy5bYDhs0ztULvzk1/8JAth IYzBACBAMqu6uv4vgjGduJGZ1ZeMkebPvwAAAIADvFACAADgCC+UAAAAOMILJQAAAI7wQgkAAIAj vFACAADgCC+UAAAAOMILJQAAAI7wQokf6c8fvjVfofOcb30WfKav8YnPme8NnOB7/md4yx3Jg/Tr Sdn8V+z9TbLnOXnOWtutP/WqfX6aznPu1HTcmjPxjj1v2T33O+75dM9u/8ke1o0ZN3XvPdLpPXE6 X/tfccbVHk+eYap75k/01jt61QOt9vmNH+q7VD8k0+f8qs/l2z//zv3fekbv+kw/8TM+OfMnPudV r+Rv3NeNGTd17qvKP30/u/N937vP+fT+O37imU699Y5e9UCrfX7jh/oTTZ/zT/je+Aad+7/1jPhM +07u4ROfM98buerMT9/P7vxXP+fVfq8+T8dPPNOpt95R9EAlpnH92sYmfL8uS6+rGrXKd9gZ1ZxO 3bQmYvN2WVFelpXFlcZXdaqT78zJ2H67VDemohlep+YGu89qr85ZOjUdnbPoith8VOPzuryoRtZU 1W9jtkZjns9ndR2rXr+XZ/NRjc/rOlH1d/awNXapKCfLi2pkddl632+/Fj7v2bxdll5XNRN+RjTL 11g2Z5dX5aOYyOKiikdryvf6a2XjPudF+axvFY9ywubtespzkxuyG8tuevdBVH3dvVbXHZ19RCe2 U9OZIWy8U2NVcZ/LasUkV9WurHo1b+tW+0czOzU3dPa2Oue4ddbJOVbXIps32UdVPZHOeeS6W2dl fV1Vb2dvL5u32idbkSxuTXujeLXPdH7G1mdfW6v5VV5yUX41M+J7otmra5XFRZQ7nVvtJ1b5jtUZ oz2qfbNcNz69Vln8hucmN0xvePdBVH2dvW6fx/Izbp3npMbq1Fidfa2n4yurPslXNZ3zdGqetHN+ 69Y5p89hte9O32rmCT+7c75OzdR05mqvJ87odWbdOEdVe+t+7Jzsa2u1b5Xfnel15kz2Ot1/spdY 7Tc9T6R7RquqyXKd+EnNk16/o9F5KNbuA6r6OnvJ19naUc3ozOzWZMvK4lanRmU1N+PZ2rHq6+Sz paKcrqd09+mcoVPTkc3RM0bLW+VFFler/gk7y8/L5tt4p2aqmpktb5UXWXxHZ1ZVo+dczenkO3Mq tjf72lrtVeV3Z3qdOfJ1trwo5lUzsv5pXK3yXTqnmic5uzJZrhPX2dGysvhTXrNLIrvJaXyl6uvs tbtvxM9aXUdu1XjSs+pb1WS5p+O7VvNO8+L2mVf8ftX+rzx/Nqc739edzhNSO6m3VufJ5tp4p2bq dKave+KMXmfW5Pw3zlzNqWhP9k9vtUeV353pdeZMZq5qfX51raZxtcp36ZzuOap9uzOUjVdzM9Kz 0zfx7PSFzoOzdh9G1dfZa3dfL5rjY529btVkTua/K75rNe80L26fuRLtVe3/yvNnc3bPcDLPm/Z0 ztM5X6dm6mRmVPPEGb3ds1Um91LZ3Tf7p7eaX+V3Z3qdOZOZVW2U87GsfxpXq3yXzonmdWMqy3Xi 1dyVk96V5yY3nDzQCd9nr7t7RXVZbyaa2Z0b9XrTmigvpjVWFfe5rFZMc1V9ZXWmztzOeVY18nVU MxXtW83t7HnjXGJ6DhvzebnO5mVxsdMT8fVyHcUiq7po1kTVG+VszOflOpuXxXd0Zk3PEcV9zF5P 51eqfbzV/GpW1ruaGYn2iWJeN6aimVHMi+pUFled+V3dM8h1tU93johmZXUqyossfsNzkwtyQ36p KCayeFfUH8VEJ+5zXb4/m2Xrorw4rfE5XVaUl+WtavQ6yyubn9SdiObYmM9FOrVVTRTb5feIZtua KC86NR3dOasan/N1Nu9zKqqRtcP3R1/rterGo5oVO6PqX9X4nK+zeZ+b6sxa1UR5WZmsxsbt2uH7 ojl2D12ZqCaKiSze4XujObZmlfN55fNRra3RnP1a2LzPeZ2ajske9mtla6K8iPL2a2VrVjldT3p2 OoC2p3/YAQB4Cn/BgB+Al0kAwCfjrxgAAACO8EIJAACAI7xQ4jH8z7jAd+JnH/g+/NTjEfxBAb4b vwOA78JPPK7jD8l3+PPnv9K147TfujHjp7DPxa+JqF/Xjk4/vwuA7/G2n3b5RcMvmzO3nuHtz+GT Pld9hnrmJ8/emW3P8tNFLxInLyfWyRxdP9HO5xvdy8793ZojfF8251O+lwGce9tP+yf94fypbj3D m5/DJ32m/qy3nmemM/vpM9z05AvKqdvzbpp+vree85NzRDz/M76XAZzjpx1Xf+l/zstQfM4nz//b /7juvJyI3b7KEzNvOf0+uHVvtz+vPP67v+8B/J+3/KTLLxhdno3bOo11ZT1RXGN+eVVuoprjc/5a ZXHL1tilopysE1W/30eXV+VUp6Yy6evsZWt8nc/p8qqcldXZmK3RmOXzuk6cvqDIP3WdOp1RPRcb szUa83w+q+u68XzErTkqm3d6vwA+w1t/0rNfNPaXrzX9xVTNV50asbru6syZ7JXlJvFq/tTpeVbX olPTIX2r3s5eJ7FIVedz0XXUb2NRXmTxjpOXE+n1/acvO2fnqZ+fkOtunZX1dZ0+F3Vrjqrmndwv gM/x1p/07BfNNJ7pzOnMfOV5lMZWe0xmZia1Kyfn6fSezM9Ib9Tf2atTo7JabzJT2PhJzYmzF7i4 94mZu/wzO3nOJ8//1n3dfD6rWSf3C+BzvPUnffoLd/qLqTtHrnVFbN6viahfVySLW1XNar7q7NN1 ch6b90tFOV2n/Aw/3y5lv17p1mZ1nXi3V651nTp9Ocn6T+beeGGyz8g/p+y52XinZuLGPYlbc0Rn 1u79Avgsb/1Jn/7Cnf5i2pkjOZ+f7puZzunUd2dKXVY7PVfl5Dyd3ptnjdj5t8/Trc3qOvFpr5Bc lV85fUHJ+k/mnp/pr89jda1svFMzcXpP6pVzdu8VwOd560/79Bfu9JfTyRxbM903M5mjtaue6dmi +umMlck8W9vpu3XWbM6T5+nWds5m2fi01+rURM5f3uL+k7lnvX9/Dj7Wec6dmonT56xuzIlmxLG9 ewXwed760z79hTv95RTVS8zGu3tls6Y6czp7qyw3iU/26+jsoTp779SsSP3u3Cf7RBYXqxmdmZ2a ieoFRXKdFxhfE1135qhJrRc90ygWWdVFs7qqe5o8n9M5WT6KV/d68iwA/Dxv+WnWXyR2qSgmsviK 7dPe6Gu/Ip2ajmqOj/trZePdvK+xNF/VTPg5dr5dkVs1Fe3pzLA1WV2nRlQ1NpfViCzfjdtru3ad vqAorY3qu3PsjG5PxD+X6Gu9Vt14VNNR3cvkXk/naE20rNU97j4HAD8TP814DH8sgO/Ezz7wffip BzDyz3/+z79fGOJ/Q/VT1z/+8d//Of3n4DkD+CS8UAIAAOAIL5QAAAA4wgslAAAAjvBCCQAAgCO8 UAIAAOAIL5QAAAA4wgslAAAAjvBCCQAAgCO8UAIAAOAIL5QAAAA4wgslAAAAjvBCCQAAgCO8UAIA AOAIL5QAAAA4wgslAAAAjvBCCQAAgCO8UAIAAOAIL5QAAAA4wgslAAAAjvBCCQAAgCO8UAIAAOAI L5QAAAA4wgslAHyIP3/4lQ3gZ3rLbyf5pehXplPzyZ6+t2z2E/s+eR87bt3jK+/r1pk7sn1eeYZv kD3PyXPW2m79qVftc+qVzwRA7a0/iatfBD7/W39xPHlf1ezb+/60z0fOc+NMr7yvW2fuqPZ55T3/ dtVnOn3Or/pcPunz/6SzAr/ZW38SV78IvuUXxZP3Wc2+ve9v/by+8b5+6z3/NNPn/KrP5ZM+f75X gZ/hrT+J2S8CiUdrx+kM22fnaMxb5YWviWp9zZTtt8vS66pGTPO6dlUzfM5fqyxu2Rq7VJST5UU1 sqaqXhu3dRqb8P26LL2uatQq32FnVHM6ddOaiM3bZUV5WVYWVxpf1alOvjMnY/vtUt2YqnKqU1PR PjsnmrXKC1+ja+pWv/3axrwsb2O2RmNdtiebEcWjmKpywubt8rKcjdkajXnTGvzdW5/K6kM5/dCi /p2Z0tOZtboWUc3OnK6qN9pb2Ngqb2XxCT+js3+1b5abxG/O76hmRrndvaq+7l6r647OPqIT26np zBA23qmxqrjPZbVikqtqV1a9mrd1q/2jmZ2aFelZzV7lRVQjsnims1eH9HRmda5Xc7QmWspfC38t NOZ7rem12pkTzVr1iVVN1PPt3vpEVh/IEx/Yzsysx8ZfWTNR9e3udfuMajJXY6s9JzMzVe1kTtf0 zLtn2LkvG799HsvPuHWekxqrU2N19rWejq+s+iRf1XTO06np2J3j89N9J3Zmd+7rVk1Hd45cV7M7 c6p+dTLniRr8+3n8559vsfowbn1YMseuqazHxm/WZGtH1ZflorieQVcki3f5PeyKZHGrqlnNV518 Z05XNmcaX6n6OnvJ19naUc3ozOzWZMvK4lanRmU1N+PZ2rHq6+SzpaKcromsPorbPVb5U3bWzrys x8Zv1XR056zmSj5bVhZXNu+Xsl9bnRpL50YL/++tT2P1Ydz4sPyMnZlZj40/XbOrmtc5j1hdq2qv jml/p747U+qy2sm5qjld03Ps7lf1dfba3TfiZ62uI7dqPOlZ9a1qstzT8V2read5cevM2RwfX117 kl/VZKZ7RbIeG79V09Gds5o73VdIz3QfkdXY+Mkc/NVbn9LqQzr9EKP+nZlZj40/XbOrmrd7nk7f jkm/1q56pmeK6qczxE6Pynqn8ZWqr7PX7r5eNMfHOnvdqsmczH9XfNdq3mle3DpzNsfGo5ru/tNz nuxlZT02fqumoztnNXe6r2V7O3Oymltz8FdvfUqrD+n0Q/T9cr0zM+uJ5ltRX1Sz09dVzc5mVjVy 3ekTWV0l6lnNrfbJcpN4td90fsd05u5evs9ed/eK6rLeTDSzOzfq9aY1UV5Ma6wq7nNZrZjmqvrK 6kyduZ3zdGpWsnobj/aNYpEsnuns1dE9z/RaZfGM1Hdmd+au+rIZPv6qOaJT8+3e8jTkQ/DLWuUn /IzpPN+vpnHL10T1tsbnpqI5UUxEcR/zecvX7rAz/Bwf99fKxrt5WZmsxsbt2lHNiWIii3dF/VFM dOI+1+X7s1m2LsqL0xqf02VFeVneqkavs7yy+UndiWiOjflcpFPbqclkfVHcx6q8XTt8/3SW71dP xytam/XaeJT3qlqf0xXJaqKY6MR9TnVqvhlPBAAAlHiBwgrfIQAAIMW/lUMH3x0AAAA4wgslAAAA jvBCCQAAgCO8UAIAAOAIL5T4evwfzQGgj9+ZiHzFd8Wtb37+K7f3mj7/Vb3mb848lc1+et8Tn3hm IHPre/Y3fv/rPf22+xK37uuVz+anfRa/77sicOuB/7QP7xtNnn/385p+pk9+D1Szn9z3xCeeGcjc +p6VOb/1+/833tetz+uVz+bWmW/5nd/tzk964DjzxGc5nfnk91M1+6d+H3/imYEM37NrPKPcNz+b t925PHS7IlnexmyNxpTP6fJWeVHlbdzWaczL8lE8inXZ3qzf1+iaOu23qll6XdWIKuetavyszswp u4ddll5XNSrL25it0diE79dl6XVVo1b5iu2zczTmZXkbszUa67I92YwoHsVUlRM2b5eX5WzM1mjM m9acsHOyWVnexmyNxpTP6fJWeVHlbdzWaczL8lE8inXZ3lV/lfdzdHlVbqKa43P+WmVxy9bYpaKc LC+qkTVV9dq4rdPYU56dnohuysc61505IoqpG/VC4p1Zq2uhMZuL6irVXJXNfGKvrtUs+XqyXxa3 qhqfk+vOzF2rs0R5H+tcd+Z0VX3dvVbXHbf26szRmmgpfy38tdCY77Wm12pnTjRr1SdWNVFPx429 5LozR0QxdaNeSLwza3UtNGZzUV2lmhvJct346rqrM2eyV5abxG/O76hmRrmTvVaem5yobl7dqlFZ baaqn+wrbLzbK9dZ7Ylon6fszM56bLxTY3XO8cTMXdXsznlu1UxUfa88z629OjUd3TlyXc3uzKn6 1cmcJ2o6bu3VqVFZbaaqn+wrbLzbK9dZ7YlqZvdskZNeazJHY6s9JjMzVe1kTtf0zE+cQT03OdG5 mc6DmDys7p52ZbJcJ66zo2X56xPVPqLKTdlZO/M6PVnNNG49MXNXNbtzHvk6W8p+bWXxlaqvs5d8 na2JrN7Gb9V0dOes5ko+W1YWVzbvl7JfW50aS+dGa6JTn9XYeKdGdfe0K5PlOnGdHS3LX5+o9rFW uap/Gs/YffyKZHGrqlnNV518Z05XNmcav+G5yYnOzXQexORhrfb0+ap+sq+w8Wqu1a1b8XNWcyW/ u/d0r0inJ6uZxq0nZu6qZnfO0zlbZ85E1dfZa3df72SvaU1Hd85q7nRfIT3TfURWY+Mnc6aePnMU X+3p81X9ZF9h49Vcq1u34udUcydn687tzlRP1HdnSl1WOzlXNadreo7T/SrPTU50bqbzICYPq9rz Rr3oxKu5VreuEs14av+TvaxOT1YzjVtPzNxVze6cp3O2zpyJqq+z1+6+3sle05qO7pzV3Om+lu3t zMlqbs2ZevrMUbza80a96MSruVa3rhLNqOZO97T1We/JzBWtXfXcOMN0htjpUVnvNH7Dc5ML0Q35 2PRaTWdHuWiGynLdeFTXqZmKZnb3me7f2asr6rOxbO40blU1PifXNuavT0X7qWyfqkftzOmq9u/u FdVlvZndvVbXKotnpL4zuzN31ZfN8PFXzRGdmo6dvVbXajo7ykUzVJbrxqO6Ts1UNLOam+W68dV1 V9R3sleWm8Sr/abzO6YzT/ZaeW7ygtyUXZEsP42LSS6qszU+H8VEJ25zPm5zO/wcP9Pm7drh+2/N sjOimIjiNuZzqlMjfD77+hadaedGMdGJ21wUE1m8K+qPYqIT97mVrO/peEVrs14bj/JeVetzuiJZ TRQTnbjPqU5NR2dOlp/GxSQX1dkan49iohO3OR+3uR1+TjTT1nTzsiKrfJed42f5uL9WNt7Ny8pk NTZu145qThQTWfyWZ6YCX+SpH058Nr4vAHwTfuMBB3hpQET/LQDfHwC+Bb/tAAAAcIQXSgAAABzh hRIAAABHeKEEAADAEV4o0cZ/YAAAACJve0PIXk74LyPvyp7n5Dlrbbf+1Kv2AQAAd7ztL3f10sAL xT3Vi+D0Ob/qc+HzBwDgs7ztL3f10sALxWvwQgkAAG54+V9ueVmIlqXXVY1a5TvsjGpOp25aE7F5 u6woL8vK4krjqzrVyXfmZGy/XaobU1VOdWoAAEDtbX9FO3/kPR9bXXd09hGd2E5NZ4aw8U6NVcV9 LqsVk1xVu7Lq1bytW+0fzezUAACAtbf9Ba3+eGc5G+/U7PIzbp3npMbq1Fidfa2n4yurPslXNZ3z dGoAAEDP2/563nghyNaOakZnZrcmW1YWtzo1Kqu5Gc/WjlVfJ58tFeV0AQCAmbf99az+cGc5G7/5 h9/PWl1HbtV40rPqW9Vkuafju1bzTvPi9pkBAPhmb/urWv1Bz3I2fuuFIJrjY529btVkTua/K75r Ne80L26fGQCAb/a2v6r+D7q9zv7YVz0q681EM7tzo15vWhPlxbTGquI+l9WKaa6qr6zO1JnbOc+q Rr6OagAAwF+99a+l/sGO/ojbmOjEfa7L92ezbF2UF6c1PqfLivKyvFWNXmd5ZfOTuhPRHBvzuUin tqqJYgAA4O/4awkAAIAjvFACAADgCC+UAAAAOMILJQAAAI7wQgkAAIAjvFACAADgCC+UAAAAOMIL JQAAAI7wQgkAAIAjvFACAADgCC+UAAAAOMILJQAAAI7wQgkAAIAjvFACAADgwL/+9b98fqGQgWjE ewAAAABJRU5ErkJggg== --_004_18b6a5a6c00e43f99bbaeb80e7617232huaweicom_-- From nobody Tue Aug 3 20:33:55 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 004AD3A00C1 for ; Tue, 3 Aug 2021 20:33:54 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.895 X-Spam-Level: X-Spam-Status: No, score=-1.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1CCz2AFDB0Qq for ; Tue, 3 Aug 2021 20:33:46 -0700 (PDT) Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 419C93A00C0 for ; Tue, 3 Aug 2021 20:33:45 -0700 (PDT) Received: from fraeml740-chm.china.huawei.com (unknown [172.18.147.207]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4GfclY5x0Vz6BB6c for ; Wed, 4 Aug 2021 11:33:29 +0800 (CST) Received: from dggeme769-chm.china.huawei.com (10.3.19.115) by fraeml740-chm.china.huawei.com (10.206.15.221) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2176.2; Wed, 4 Aug 2021 05:33:40 +0200 Received: from dggeme770-chm.china.huawei.com (10.3.19.116) by dggeme769-chm.china.huawei.com (10.3.19.115) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Wed, 4 Aug 2021 11:33:38 +0800 Received: from dggeme770-chm.china.huawei.com ([10.8.68.58]) by dggeme770-chm.china.huawei.com ([10.8.68.58]) with mapi id 15.01.2176.012; Wed, 4 Aug 2021 11:33:38 +0800 From: "maqiufang (A)" To: Andy Bierman CC: "netmod@ietf.org" Thread-Topic: [netmod] system configuration sync mechanism Thread-Index: AdeI3SREF98dvYmrSI+IU4b90/DoOA== Date: Wed, 4 Aug 2021 03:33:38 +0000 Message-ID: <7a1838a8d89d4de7b36e08c66f6d7c0c@huawei.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.136.123.93] Content-Type: multipart/alternative; boundary="_000_7a1838a8d89d4de7b36e08c66f6d7c0chuaweicom_" MIME-Version: 1.0 X-CFilter-Loop: Reflected Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2021 03:33:54 -0000 --_000_7a1838a8d89d4de7b36e08c66f6d7c0chuaweicom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIEFuZHksDQoNCkFwb2xvZ2l6ZSBmb3IgbXkgY2hpbWluZyBpbi4gUGxlYXNlIHNlZSBteSBy ZXBseSBpbmxpbmUuDQoNCkZyb206IG5ldG1vZCBbbWFpbHRvOm5ldG1vZC1ib3VuY2VzQGlldGYu b3JnXSBPbiBCZWhhbGYgT2YgQW5keSBCaWVybWFuDQpTZW50OiBXZWRuZXNkYXksIEF1Z3VzdCA0 LCAyMDIxIDE6MTEgQU0NClRvOiBGZW5nY2hvbmcgKGZyYW5rKSA8ZnJhbmsuZmVuZ2Nob25nQGh1 YXdlaS5jb20+DQpDYzogQmFsw6F6cyBMZW5neWVsIDxiYWxhenMubGVuZ3llbD00MGVyaWNzc29u LmNvbUBkbWFyYy5pZXRmLm9yZz47IG5ldG1vZEBpZXRmLm9yZw0KU3ViamVjdDogUmU6IFtuZXRt b2RdIOetlOWkjTogc3lzdGVtIGNvbmZpZ3VyYXRpb24gc3luYyBtZWNoYW5pc20NCg0KDQoNCk9u IFR1ZSwgQXVnIDMsIDIwMjEgYXQgMTI6MzQgQU0gRmVuZ2Nob25nIChmcmFuaykgPGZyYW5rLmZl bmdjaG9uZ0BodWF3ZWkuY29tPG1haWx0bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4+IHdy b3RlOg0KSGkganVlcmdlbiwNCiAgUGxlYXNlIHNlZSBteSBjb21tZW50cyBpbmxpbmUuDQoNCiAg L2ZyYW5rDQoNCi0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCuWPkeS7tuS6ujogSsO8cmdlbiBTY2jD tm53w6RsZGVyIFttYWlsdG86ai5zY2hvZW53YWVsZGVyQGphY29icy11bml2ZXJzaXR5LmRlPG1h aWx0bzpqLnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU+XQ0K5Y+R6YCB5pe26Ze0 OiAyMDIx5bm0OOaciDPml6UgMTI6MTUNCuaUtuS7tuS6ujogRmVuZ2Nob25nIChmcmFuaykgPGZy YW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPG1haWx0bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNv bT4+DQrmioTpgIE6IEFuZHkgQmllcm1hbiA8YW5keUB5dW1hd29ya3MuY29tPG1haWx0bzphbmR5 QHl1bWF3b3Jrcy5jb20+PjsgS2VudCBXYXRzZW4gPGtlbnQraWV0ZkB3YXRzZW4ubmV0PG1haWx0 bzprZW50JTJCaWV0ZkB3YXRzZW4ubmV0Pj47IEJhbMOhenMgTGVuZ3llbCA8YmFsYXpzLmxlbmd5 ZWw9NDBlcmljc3Nvbi5jb21AZG1hcmMuaWV0Zi5vcmc8bWFpbHRvOjQwZXJpY3Nzb24uY29tQGRt YXJjLmlldGYub3JnPj47IG5ldG1vZEBpZXRmLm9yZzxtYWlsdG86bmV0bW9kQGlldGYub3JnPg0K 5Li76aKYOiBSZTogW25ldG1vZF0g562U5aSNOiBzeXN0ZW0gY29uZmlndXJhdGlvbiBzeW5jIG1l Y2hhbmlzbQ0KDQpPbiBUdWUsIEF1ZyAwMywgMjAyMSBhdCAwMTo0NTo0MEFNICswMDAwLCBGZW5n Y2hvbmcgKGZyYW5rKSB3cm90ZToNCj4gSGkgYW5keSBhbmQgYWxsLg0KPg0KPiBJIGRvbuKAmXQg dGhpbmsgZ2V0LWRhdGEgd2l0aCBvcmlnaW4gY2FuIHNvbHZlIHRoZSBpc3N1ZXMgYmVsb3c6DQo+ DQo+DQo+IDEuICAgICAgIFNvbWUgbGVhZnMgbGlrZSBpbnRlcmZhY2UgdHlwZSBDQU4gTk9UIGJl IG1vZGlmaWVkIGJ5IHVzZXIsIGJ1dCBjYW4gYmUgcmVmZXJlbmNlZCBieSBvdGhlciBjb25maWcg bm9kZXMoZS5nLiB1c2luZyBsZWFmcmVmIG9yIG9jY3VyIGluIHdoZW4vbXVzdCkuIFRoZSB2YWxp ZGF0aW9uIHdpbGwgYmUgZmFpbCBpZiB0aGVzZSBsZWFmcyBhcmUgbm90IGJlIGNvbmZpZ3VyZWQg YnkgdXNlciBub3cgZXhwbGljaXRseSAod2UgYXNzdW1lIHRoZXNlIGxlYWZzIGFyZSBvcHRpb25h bCBhbmQgbm8gZGVmYXVsdCB2YWx1ZSkuDQoNClRoZSBpbnRlcmZhY2UgdHlwZSBpbiB0aGUgUkZD IDgzNDMgbW9kdWxlIGlzIGNvbmZpZyB0cnVlLiBZQU5HIGRvZXMgbm90IGFsbG93IHlvdSB0byBy ZWZlciB0byBjb25maWcgZmFsc2Ugbm9kZXMgaW4gY29uc3RyYWludHMgdGhhdCBhcHBseSB0byBj b25maWcgdHJ1ZSBub2Rlcy4gQSBjb3JlIHByaW5jaXBsZSBpcyB0aGF0IHRoZSBjb250ZW50IG9m IGEgY29uZmlndXJhdGlvbiBkYXRhc3RvcmUgY2FuIGJlIHZhbGlkYXRlZCB3aXRob3V0IGtub3dp bmcgdGhlIGFjdHVhbCBzdGF0ZSBvZiB0aGUgc3lzdGVtLg0KDQpGcmFuazogeWVzLCBpbnRlcmZh Y2UgdHlwZSBpcyBhIGNvbmZpZyBub2RlLCBidXQgaXQgaXNuJ3QgYWxsb3cgdG8gYmUgbW9kaWZp ZWQuIElmIGEgY29uZmlnIG5vZGUgcmVmZXJlbmNlIGlmLXR5cGUsIGluIG9yZGVyIHRvIHZhbGlk YXRlIGRhdGEgc3VjY2Vzc2Z1bGx5ICx1c2VyIG11c3QgaGF2ZSB0byBjb25maWcgaWYtdHlwZSB3 aXRoIGRldGVybWluZWQgdmFsdWUgYWdhaW4uIEZvciBleGFtcGxlLCB1c2VyIG11c3QgY29uZmln IGlmLXR5cGUgd2l0aCAnZXRoZXJuZXQnIGZvciBldGhlcm5ldDAvMC8xLiBJIGRvbid0IHRoaW5r IGl0IG1ha2VzIHNlbnNlLiBUaGUgaWYtdHlwZSBoYXMgYmVlbiBjcmVhdGVkIGJ5IHN5c3RlbSwg d2hlbiBydW5uaW5nIGNvbmZpZyBpcyBtZXJnZWQgdG8gPG9wZXJhdGlvbmFsPiwgaXQgY2FuIHdv cmsgYW5kIHRoZSB2YWxpZGF0aW9uIGlzIHN1Y2Nlc3NmdWwuIElmIHlvdSB0aGluayBydW5uaW5n IGRhdGFzdG9yZSBpcyBzZWxmLWNvbnRhaW5lZCwgSSB3aWxsIHRoaW5rIHRoZSBzeXN0ZW0gY29u ZmlndXJhdGlvbiBzaG91bGQgYmUgaW1wb3J0ZWQgdG8gcnVubmluZyBkYXRhc3RvcmUgYXV0b21h dGljYWxseSB0byBlbnN1cmUgc3VjY2Vzc2Z1bCB2YWxpZGF0aW9uDQoNCg0KSSBkb3VidCBhbm90 aGVyIHJld3JpdGUgb2YgaWV0Zi1pbnRlcmZhY2VzIHdvdWxkIGdhaW4gbXVjaCBzdXBwb3J0Lg0K DQpUaGVyZSBhcmUgbWFueSBvYmplY3RzIHRoYXQgaGF2ZSB1c2VyIGFjY2VzcyByZXN0cmljdGlv bnMgdGhhdCBhcmUgbm90IHN0YW5kYXJkaXplZA0Kd2l0aCBtYWNoaW5lLXJlYWRhYmxlIHN0YXRl bWVudHMuICBJIGFtIGludGVyZXN0ZWQgaW4gdGhlIDIgdXNlIGNhc2VzIHRoYXQgQmFsYXpzIGRl c2NyaWJlZC4NClRoZSBzeXN0ZW0gZG9lcyBpdHMgb3duIGFjY2VzcyBjb250cm9sIChub3QgTkFD TSkgd3J0LyB0aGVzZSBvYmplY3RzLiBUaGUgc2VydmVyIGp1c3QNCnJlamVjdHMgdGhlIGVkaXQg cmVxdWVzdHMsIGV2ZW4gdGhvdWdoIHRoZSBzdGFuZGFyZCBZQU5HIGluZGljYXRlcyBpdCBzaG91 bGQgYmUgd3JpdGFibGUuDQpTb21lIHN0YW5kYXJkIGV4dGVuc2lvbnMgdG8gdGFnIHRoZSBkYXRh IHdvdWxkIGhlbHAgYXBwbGljYXRpb25zIGJldHRlciBwcmVkaWN0IHNlcnZlciBiZWhhdmlvci4N Cg0KVGhlcmUgaXMgbm8gd2F5IGluIFlBTkcgMS4xIHRvIGhhdmUgYSBjb25maWc9dHJ1ZSBub2Rl IHJlZmVyZW5jZSBjb25maWc9ZmFsc2UgaW4gdGhlIFhQYXRoLg0KKFdlbGwsIHdlIGltcGxlbWVu dCBpdCBidXQgdGhlIGRldmVsb3BlciBoYXMgdG8gZW5hYmxlIGl0KS4NCg0KSSBkbyBub3Qgc2Vl IHRoZSBwb2ludCBvZiB0aGUgc3lzdGVtIGRhdGFzdG9yZSBpZiBpdCBjb250YWlucyBjb25maWc9 dHJ1ZSBub2RlcywNCmp1c3Qgc28gdGhhdCBYUGF0aCBjYW4gcmVmZXJlbmNlIGl0LiAgSSBkbyBu b3QgYWdyZWUgdGhhdCBpdCBpcyB1c2VmdWwgb3IgZWFzeSB0byBpbXBsZW1lbnQsDQplc3BlY2lh bGx5IHNpbmNlIHRoZSBjb250ZW50cyBvZiA8c3lzdGVtPiBhcmUgdmlzaWJsZSBpbiA8aW50ZW5k ZWQ+LiAgUmVwcmVzZW50aW5nIHRoZSBwb3NzaWJsZQ0KaW5zdGFuY2VzIGlzIG5vbi10cml2aWFs IChlLmcuIHBhdHRlcm4gYWxsb3dlZCwgbm90IGEgZml4ZWQgbmFtZSwgcmVzdWx0aW5nIGluIDYg bWlsbGlvbiBwb3NzaWJsZSB2YWx1ZXMpLg0KW1FpdWZhbmcgTWFdIEkgZG9u4oCZIHQgc2VlIGFu eSBzeXN0ZW0gY29uZmlndXJhdGlvbiBoYW5kbGluZyBiZWhhdmlvciBzdGFuZGFyZHMgaW4gbm9u LU5NREE7IE5NREEgZGVmaW5lcyB0aGF0IHN5c3RlbSBjb25maWd1cmF0aW9uIHNob3VsZCBvbmx5 IGJlIGluY2x1ZGVkIGluIDxvcGVyYXRpb25hbD4uIEkgdGhpbmsgaXQgbmVjZXNzYXJ5IHRvIGRp c3Rpbmd1aXNoIGJldHdlZW4gc3lzdGVtIGNvbmZpZ3VyYXRpb24gYW5kIG9wZXJhdGlvbmFsIHN0 YXRlLg0KU2luY2UgdGhlcmUgbWF5IGJlIHNvbWUgcmVxdWlyZW1lbnRzIHRvIHJlZmVyZW5jZSB0 aGUgc3lzdGVtIGNvbmZpZ3VyYXRpb24sIGl0IGRvZXNu4oCZdCBzZWVtIHNlbnNpYmxlIHRvIHRy ZWF0IHN5c3RlbSBjb25maWd1cmF0aW9uIGFzIG9wZXJhdGlvbmFsIHN0YXRlLiBJIGRvbuKAmXQg dGhpbmsgcmV0cmlldmFsIGZyb20gPG9wZXJhdGlvbmFsPiBzaG91bGQgYmUgdGhlIG9ubHkgd2F5 IHRvIGdldCBzeXN0ZW0gY29uZmlndXJhdGlvbnMsIGdpdmVuIHRoZSBkZWZpbml0aW9uIG9mIG9w ZXJhdGlvbmFsIGRhdGFzdG9yZS4NClRoYXQgaXMgdG8gc2F5LCA8b3BlcmF0aW9uYWw+IGNvbnRh aW5zIGFsbCBhcHBsaWVkIGNvbmZpZ3VyYXRpb25zIHdoaWNoIGdvIHRocm91Z2ggY29uZmlndXJh dGlvbiBjb21iaW5hdGlvbiBhbmQgdGVtcGxhdGUgZXhwYW5zaW9uLiBPbmx5IHRoZSBzeXN0ZW0g Y29uZmlndXJhdGlvbnMgd2hpY2ggdGFrZSBlZmZlY3QgYXJlIGluY2x1ZGVkIGFuZCB3aWxsIGJl IHRhZ2dlZCBhcyDigJxvcmlnaW49aW50ZW5kZWTigJ0gb25jZSBiZWluZyByZWZlcmVuY2VkIGlu IDxydW5uaW5nPi4gSSBiZWxpZXZlIHRoZXJlIHdvdWxkIGJlIGEgbmVlZCB0byBnZXQgdGhlIHB1 cmUgc3lzdGVtIGNvbmZpZ3VyYXRpb25zIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBiZWluZyBhcHBs aWVkIG9yIG5vdC4NCg0KSWYgdGhlIHN5c3RlbSBkYXRhc3RvcmUgY29udGFpbnMgY29uZmlnPWZh bHNlIG5vZGVzLCB0aGVuIHlvdSBhcmUgdGFsa2luZyBhYm91dCBhIHJld3JpdGUNCm9mIHRoZSBZ QU5HIHZhbGlkYXRpb24gYXJjaGl0ZWN0dXJlIGFuZCBhIG5ldyB2ZXJzaW9uIG9mIFlBTkcuICBJ TU8gdGhlcmUgaXMgbm8gbmVlZCBmb3IgdGhhdC4NCltRaXVmYW5nIE1hXSBJIGRvbuKAmXQgdGhp bmsgPHN5c3RlbT4gd291bGQgY29udGFpbiBjb25maWc9ZmFsc2Ugbm9kZXMuIEEgcmV3cml0ZSBv ZiB0aGUgWUFORyB2YWxpZGF0aW9uIGFyY2hpdGVjdHVyZSBhbmQgYSBuZXcgdmVyc2lvbiBvZiBZ QU5HIGFyZSBub3Qgb3VyIGludGVudGlvbi4NCg0KQmVzdCBSZWdhcmRzLA0KUWl1ZmFuZyBNYQ0K DQoNCkFuZHkNCg0KDQo+IDIuICAgICAgIFNvbWUgaW5zdGFuY2VzIGFyZSBnZW5lcmF0ZWQgYnkg c3lzdGVtLCBidXQgdGhlc2UgaW5zdGFuY2VzIGNhbiBiZSByZWZlcmVuY2VkIGJ5IG90aGVyIGNv bmZpZyBub2Rlcy4gVGhlIHZhbGlkYXRpb24gbXVzdCBiZSBmYWlsIGlmIHRoZXNlIGluc3RhbmNl cyBhcmUgbm90IGJlIHJlY3JlYXRlZCBieSB1c2VyIGV4cGxpY2l0bHkgbm93Lg0KDQpZZXMsIGEg Y29uZmlndXJhdGlvbiBkYXRhc3RvcmUgaXMgc2VsZi1jb250YWluZWQuIElmIGEgY2xpZW50IHdh bnRzIHRvIGNvbmZpZ3VyZSB0aGUgaW50ZXJmYWNlIHgsIGl0IGhhcyB0byBkZWZpbmUgdGhlIGlu dGVyZmFjZSB4IGluIHRoZSBjb25maWd1cmF0aW9uLiBOb3RlIHRoYXQgdGhpcyBzaG91bGQgbm90 IGJlIGNvbmZ1c2VkIHdpdGggYSBzeXN0ZW0gZ2VuZXJhdGluZyBhbiBpbnRlcmZhY2UgeCBhZnRl ciBwcm9iaW5nIHRoZSBoYXJkd2FyZS4gTm90ZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIG9wZXJh dGlvbmFsIHN0YXRlLCBhcHBsaWVkIGNvbmZpZywgYW5kIHJ1bm5pbmcgY29uZmlnLg0KDQpGcmFu azogZm9yIGV4YW1wbGUgLCBwcmVkZWZpbmVkIHBvbGljaWVzIGFyZSBwcm92aWRlZCBieSBzeXN0 ZW0sIHVzZXIgY29uZmlndXJhdGlvbiBjYW4gcmVmZXJlbmNlIHRoZXNlIHByZWRlZmluZWQgcG9s aWN5IGRpcmVjdGx5LiBidXQgYmVjYXVzZSBwcmVkZWZpbmVkIHBvbGljaWVzIGFyZSBub3QgY29u ZmlndXJlZCBieSB1c2VyIGV4cGxpY2l0bHksIHRoZSB2YWxpZGF0aW9uIHdpbGwgYmUgZmFpbC4g SWYgeW91IHdhbnQgdG8gZ2V0IGEgc3VjY2Vzc2Z1bCB2YWxpZGF0aW9uICwgdXNlciBNVVNUIGhh dmUgdG8gcmVkZWZpbmVkIHRoZSBzeXN0ZW0gcHJlZGVmaW5lZCBwb2xpY2llcy4NClNvLCBzeXN0 ZW0gcHJlZGVmaW5lZCBkYXRhIGFyZSB1c2VsZXNzLiBJIHRoaW5rIGl0IGlzIHVucmVhc29uYWJs ZS4NCg0KDQoNCkxldCBtZSBhZGQgdGhhdCB0aGUgdW5kZXJseWluZyBtb2RlbCBpcyB0aGF0IHRo ZSBjbGllbnQocykgaGF2ZSBjb250cm9sIG92ZXIgdGhlIGNvbmZpZ3VyYXRpb24uIEEgc3lzdGVt IG1ha2luZyBhZC1ob2MgY2hhbmdlcyB0byB0aGUgY29uZmlnIChldmVuIHdpdGggdGhlIGJlc3Qg aW50ZW50aW9ucykgd2lsbCBiZSBzdXJwcmlzaW5nLiBJbiB0aGlzIG1vZGVsLCB0aGUgb25seSB3 YXkgdG8gaW5qZWN0IGNvbmZpZyBpbnRvIHJ1bm5pbmcgb24gc3lzdGVtIGJvb3QgaXMgdG8gaGF2 ZSBhIGNsaWVudCBtYWtpbmcgY2hhbmdlcyB0byBydW5uaW5nIGZvbGxvd2luZyB0aGUgbm9ybWFs IHByb2NlZHVyZXMgLSBhdCBsZWFzdCBjb25jZXB0dWFsbHkuIFRoaXMgbWVhbnMgdGhhdCBjb25j ZXB0dWFsbHkgdGhlIG90aGVyIGNsaWVudHMgbmVlZCB0byBiZSBhd2FyZSB0aGF0IHRoZXJlIGlz IGEgc3lzdGVtIGNsaWVudCBpbmplY3RpbmcgY29uZmlndXJhdGlvbi4NCg0KSWYgeW91IGZvbGxv dyB0aGlzIGxvZ2ljLCBpdCBzZWVtcyB3cm9uZyB0byBkZWZpbmUgYSBzeXN0ZW0gZGF0YXN0b3Jl IHRoYXQgaXMgc29tZWhvdyBtYWdpY2FsbHkgbWVyZ2VkIGludG8gcnVubmluZyAtIGFuZCBpdCBp cyBub3QgbmVlZGVkLg0KDQpGcmFuazogc3lzdGVtIGNvbmZpZ3VyYXRpb24gbm90IG9ubHkgaW5j bHVkZXMgc29tZSBpbnN0YW5jZXMgZ2VuZXJhdGVkIG9uIHJlYm9vdCB0aW1lLCBidXQgYWxzbyBp bmNsdWRlcyB0aGUgY29uZmlndXJhdGlvbiB3aGVuIGhhcmR3YXJlIGlzIHBsdWdnZWQgaW4sIG9y IGEgZnVuY3Rpb24gaXMgZW5hYmxlZCAoZm9yIGV4YW1wbGUsIGluIGh1YXdlaSdzIGltcGxlbWVu dGF0aW9uLCB3aGVuIFFPUyBmdW5jdGlvbiBpcyBlbmFibGVkLCBtYW55IHFvcyBwcmVkZWZpbmVk IHBvbGljaWVzIGFyZSBjcmVhdGVkIGJ5IHN5c3RlbSkgb3IgYSB1c2VyLWNyZWF0ZWQgbGlzdCBp bnN0YW5jZSBpcyBjcmVhdGVkLCBzb21lIGxlYWZzJyB2YWx1ZSB3aWxsIGJlIGNyZWF0ZWQgYnkg c3lzdGVtLiBTbyAsIHdlIG5lZWQgYSBzeXN0ZW0gZGF0YXN0b3JlIHRvIGhvbGQgdGhlc2UgY29u ZmlndXJhdGlvbi4NCg0KPiAzLiAgICAgICBVc2VyIG1heSBuZWVkIGtub3cgd2hhdCB0aGUgb3Jp Z2luYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gaXMsIGlmIHdlIGdldCBkYXRhIGZyb20gPG9wZXJh dGlvbmFsPiwgeW91IG1heSBnZXQgdGhlIG1vZGlmaWVkIHN5c3RlbSBjb25maWd1cmF0aW9uLihm b3IgZXhhbXBsZSwgdXNlciBtb2RpZnkgb3IgdGVtcGxhdGUgaXMgZXhwYW5kZWQsIG9yIG9ubHkg YWN0aXZlIGluc3RhbmNlcykNCg0KSWYgeW91IGhhdmUgbXVsdGlwbGUgY2xpZW50cyBtYW5hZ2lu ZyBzaGFyZWQgY29uZmlndXJhdGlvbiwgdGhlbiB5ZXMgaXQgaXMgZ29vZCBpZiB0aGV5IGFyZSBh d2FyZSBvZiB3aGF0IGlzIGdvaW5nIG9uLiBJIGFtIG5vdCBzdXJlIHlldCB0aGF0IGV4cG9zaW5n IG90aGVyIGNsaWVudHMgaW50ZW50aW9ucyB2aWEgYWRkaXRpb25hbCBkYXRhc3RvcmVzIGFuZCBk ZWZpbmluZyBtZXJnZSBtZWNoYW5pc21zIGFuZCBzZW1hbnRpY3MgaXMgdGhlIHdheSB0byBnby4N Cg0KPiBJIGRvbuKAmXQgY2FyZSBhYm91dCB3aGV0aGVyIHN5c3RlbSBkYXRhc3RvcmUgaXMgaW1w b3J0ZWQgdG8gcnVubmluZyBvciBpbnRlbmRlZCBkYXRhc3RvcmVzLiBCdXQgSSB0aGluayBpZiBh IGNvbmZpZyBub2RlIHJlZmVyZW5jZSBhIHN5c3RlbSBub2RlLCB0aGUgdmFsaWRhdGlvbiAocnVu bmluZyBvciBpbnRlbmRlZCBkYXRhc3RvcmVzKSB3aWxsIGJlIHN1Y2Nlc3NmdWwgZXZlbiBpZiB0 aGUgc3lzdGVtIG5vZGUgaXMgbm90IGNvbmZpZ3VyZWQgYnkgdXNlciBleHBsaWNpdGx5Lg0KDQpJ IGFtIGNvbmNlcm5lZCBhYm91dCBoYXZpbmcgdG8gZGVmaW5lIHdoYXQgImlzIGltcG9ydGVkIiBt ZWFucyBwcmVjaXNlbHkgYW5kIHdoZXRoZXIgbW92aW5nIHRvIGEgbW9kZWwgbXVsdGlwbGUgZGF0 YXN0b3JlcyBoYXZlIHRvIGJlIG1lcmdlZCBiZWZvcmUgdmFsaWRhdGlvbiBpcyB0aGUgd2F5IHRv IGdvLiBXZSBhbHJlYWR5IGFja25vd2xlZGdlZCB0aGF0IHRoZXJlIGFyZSB0ZW1wbGF0ZSBleHBh bnNpb25zIGluIHNvbWUgaW1wbGVtZW50YXRpb25zIHdpdGhvdXQgd29ya2luZyBvdXQgaG93IHRo ZXkgd29yay4NCg0KPiBFc3BlY2lhbGx5IG9uIHRoZSBjbGllbnQgc2lkZSwgIGlmIGEgY2xpZW50 IG5lZWQgdmFsaWRhdGUgYWxsIGRhdGEgcmV0cmlldmVkIGZyb20gc2VydmVyLCB0aGUgdmFsaWRh dGlvbiBTSE9VTEQgYmUgc3VjY2Vzc2Z1bC4gSWYgc3lzdGVtIGNvbmZpZ3VyYXRpb24gYXJlIG5v dCBpbXBvcnRlZCB0byBydW5uaW5nLCBhdCBhIG1pbmltdW0sIHRoZSBjbGllbnQgbmVlZHMgdG8g a25vdyB3aGF0IHRoZSBvcmlnaW5hbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBpcy4gQW5vdGhlciB3 YXkgaXMgYWRkaW5nIHdpdGgtc3lzdGVtLXVzZWQgcGFyYW1ldGVyIHRvIGdldC1jb25maWcgb3Bl cmF0aW9uIHRvIHJldHJpZXZlZCBhbGwgdXNlciBjb25maWd1cmF0aW9uIGFuZCBzeXN0ZW0gY29u ZmlndXJhdGlvbiByZWZlcmVuY2VkIGJ5IHVzZXIgY29uZmlndXJhdGlvbi4NCg0KTGV0IG1lIHJl cGVhdCwgaW4gdGhlIG9yaWdpbmFsIG1vZGVsLCB0aGUgcnVubmluZyBjb25maWd1cmF0aW9uIGRh dGFzdG9yZSBpcyBzZWxmLWNvbnRhaW5lZCBhbmQgY2FuIGJlIHZhbGlkYXRlZCB3aXRob3V0IGtu b3dpbmcgYWRkaXRpb25hbCBkYXRhc3RvcmVzLg0KDQovanMNCg0KLS0NCkp1ZXJnZW4gU2Nob2Vu d2FlbGRlciAgICAgICAgICAgSmFjb2JzIFVuaXZlcnNpdHkgQnJlbWVuIGdHbWJIDQpQaG9uZTog KzQ5IDQyMSAyMDAgMzU4NyAgICAgICAgIENhbXB1cyBSaW5nIDEgfCAyODc1OSBCcmVtZW4gfCBH ZXJtYW55DQpGYXg6ICAgKzQ5IDQyMSAyMDAgMzEwMyAgICAgICAgIDxodHRwczovL3d3dy5qYWNv YnMtdW5pdmVyc2l0eS5kZS8+DQo= --_000_7a1838a8d89d4de7b36e08c66f6d7c0chuaweicom_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 5a6L5L2TOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0KQGZvbnQtZmFjZQ0KCXtm b250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0 O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUg MiAyIDIgNCAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJcQOWui+S9kyI7DQoJ cGFub3NlLTE6MiAxIDYgMCAzIDEgMSAxIDEgMTt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0K cC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0K CW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5 OiJUaW1lcyBOZXcgUm9tYW4iLHNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7 bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVu ZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0 eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJs aW5lO30NCnNwYW4uRW1haWxTdHlsZTE3DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5 Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0K Lk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1mYW1p bHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6NjEy LjBwdCA3OTIuMHB0Ow0KCW1hcmdpbjo3Mi4wcHQgOTAuMHB0IDcyLjBwdCA5MC4wcHQ7fQ0KZGl2 LldvcmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQotLT48L3N0eWxlPjwhLS1baWYg Z3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0i MTAyNiIgLz4NCjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86 c2hhcGVsYXlvdXQgdjpleHQ9ImVkaXQiPg0KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEi IC8+DQo8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBs YW5nPSJFTi1VUyIgbGluaz0iYmx1ZSIgdmxpbms9InB1cnBsZSI+DQo8ZGl2IGNsYXNzPSJXb3Jk U2VjdGlvbjEiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMx RjQ5N0QiPkhpLCBBbmR5LDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli cmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3 RCI+QXBvbG9naXplIGZvciBteSBjaGltaW5nIGluLiBQbGVhc2Ugc2VlIG15IHJlcGx5IGlubGlu ZS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMt c2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PGI+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNl cmlmIj5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m YW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj4gbmV0bW9kIFttYWlsdG86bmV0 bW9kLWJvdW5jZXNAaWV0Zi5vcmddDQo8Yj5PbiBCZWhhbGYgT2YgPC9iPkFuZHkgQmllcm1hbjxi cj4NCjxiPlNlbnQ6PC9iPiBXZWRuZXNkYXksIEF1Z3VzdCA0LCAyMDIxIDE6MTEgQU08YnI+DQo8 Yj5Ubzo8L2I+IEZlbmdjaG9uZyAoZnJhbmspICZsdDtmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNv bSZndDs8YnI+DQo8Yj5DYzo8L2I+IEJhbMOhenMgTGVuZ3llbCAmbHQ7YmFsYXpzLmxlbmd5ZWw9 NDBlcmljc3Nvbi5jb21AZG1hcmMuaWV0Zi5vcmcmZ3Q7OyBuZXRtb2RAaWV0Zi5vcmc8YnI+DQo8 Yj5TdWJqZWN0OjwvYj4gUmU6IFtuZXRtb2RdIDwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5 bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk65a6L5L2TIj7nrZTlpI08L3NwYW4+PHNw YW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90 OyxzYW5zLXNlcmlmIj46IHN5c3RlbSBjb25maWd1cmF0aW9uIHN5bmMgbWVjaGFuaXNtPG86cD48 L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0 OjM2LjBwdCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9w Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0 Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h bCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+T24gVHVlLCBBdWcgMywgMjAyMSBhdCAxMjoz NCBBTSBGZW5nY2hvbmcgKGZyYW5rKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmZyYW5rLmZlbmdjaG9u Z0BodWF3ZWkuY29tIj5mcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTwvYT4mZ3Q7IHdyb3RlOjxv OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9y ZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21h cmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDowY207bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90 dG9tOjEyLjBwdDttYXJnaW4tbGVmdDozNi4wcHQiPg0KSGkganVlcmdlbiw8YnI+DQombmJzcDsg UGxlYXNlIHNlZSBteSBjb21tZW50cyBpbmxpbmUuPGJyPg0KPGJyPg0KJm5ic3A7IC9mcmFuazxi cj4NCjxicj4NCi0tLS0tPHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LWZhbWlseTrlrovk vZMiPumCruS7tuWOn+S7tjwvc3Bhbj4tLS0tLTxicj4NCjxzcGFuIGxhbmc9IlpILUNOIiBzdHls ZT0iZm9udC1mYW1pbHk65a6L5L2TIj7lj5Hku7bkuro8L3NwYW4+OiBKw7xyZ2VuIFNjaMO2bnfD pGxkZXIgW21haWx0bzo8YSBocmVmPSJtYWlsdG86ai5zY2hvZW53YWVsZGVyQGphY29icy11bml2 ZXJzaXR5LmRlIiB0YXJnZXQ9Il9ibGFuayI+ai5zY2hvZW53YWVsZGVyQGphY29icy11bml2ZXJz aXR5LmRlPC9hPl0NCjxicj4NCjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1mYW1pbHk6 5a6L5L2TIj7lj5HpgIHml7bpl7Q8L3NwYW4+OiAyMDIxPHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxl PSJmb250LWZhbWlseTrlrovkvZMiPuW5tDwvc3Bhbj44PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxl PSJmb250LWZhbWlseTrlrovkvZMiPuaciDwvc3Bhbj4zPHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxl PSJmb250LWZhbWlseTrlrovkvZMiPuaXpTwvc3Bhbj4gMTI6MTU8YnI+DQo8c3BhbiBsYW5nPSJa SC1DTiIgc3R5bGU9ImZvbnQtZmFtaWx5OuWui+S9kyI+5pS25Lu25Lq6PC9zcGFuPjogRmVuZ2No b25nIChmcmFuaykgJmx0OzxhIGhyZWY9Im1haWx0bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNv bSIgdGFyZ2V0PSJfYmxhbmsiPmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPC9hPiZndDs8YnI+ DQo8c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtZmFtaWx5OuWui+S9kyI+5oqE6YCBPC9z cGFuPjogQW5keSBCaWVybWFuICZsdDs8YSBocmVmPSJtYWlsdG86YW5keUB5dW1hd29ya3MuY29t IiB0YXJnZXQ9Il9ibGFuayI+YW5keUB5dW1hd29ya3MuY29tPC9hPiZndDs7IEtlbnQgV2F0c2Vu ICZsdDs8YSBocmVmPSJtYWlsdG86a2VudCUyQmlldGZAd2F0c2VuLm5ldCIgdGFyZ2V0PSJfYmxh bmsiPmtlbnQmIzQzO2lldGZAd2F0c2VuLm5ldDwvYT4mZ3Q7OyBCYWzDoXpzIExlbmd5ZWwgJmx0 O2JhbGF6cy5sZW5neWVsPTxhIGhyZWY9Im1haWx0bzo0MGVyaWNzc29uLmNvbUBkbWFyYy5pZXRm Lm9yZyIgdGFyZ2V0PSJfYmxhbmsiPjQwZXJpY3Nzb24uY29tQGRtYXJjLmlldGYub3JnPC9hPiZn dDs7DQo8YSBocmVmPSJtYWlsdG86bmV0bW9kQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+bmV0 bW9kQGlldGYub3JnPC9hPjxicj4NCjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1mYW1p bHk65a6L5L2TIj7kuLvpopg8L3NwYW4+OiBSZTogW25ldG1vZF0gPHNwYW4gbGFuZz0iWkgtQ04i IHN0eWxlPSJmb250LWZhbWlseTrlrovkvZMiPg0K562U5aSNPC9zcGFuPjogc3lzdGVtIGNvbmZp Z3VyYXRpb24gc3luYyBtZWNoYW5pc208YnI+DQo8YnI+DQpPbiBUdWUsIEF1ZyAwMywgMjAyMSBh dCAwMTo0NTo0MEFNICYjNDM7MDAwMCwgRmVuZ2Nob25nIChmcmFuaykgd3JvdGU6PGJyPg0KJmd0 OyBIaSBhbmR5IGFuZCBhbGwuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IEkgZG9u4oCZdCB0aGluayBn ZXQtZGF0YSB3aXRoIG9yaWdpbiBjYW4gc29sdmUgdGhlIGlzc3VlcyBiZWxvdzo8YnI+DQomZ3Q7 IDxicj4NCiZndDsgPGJyPg0KJmd0OyAxLiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1NvbWUg bGVhZnMgbGlrZSBpbnRlcmZhY2UgdHlwZSBDQU4gTk9UIGJlIG1vZGlmaWVkIGJ5IHVzZXIsIGJ1 dCBjYW4gYmUgcmVmZXJlbmNlZCBieSBvdGhlciBjb25maWcgbm9kZXMoZS5nLiB1c2luZyBsZWFm cmVmIG9yIG9jY3VyIGluIHdoZW4vbXVzdCkuIFRoZSB2YWxpZGF0aW9uIHdpbGwgYmUgZmFpbCBp ZiB0aGVzZSBsZWFmcyBhcmUgbm90IGJlIGNvbmZpZ3VyZWQgYnkgdXNlciBub3cgZXhwbGljaXRs eSAod2UgYXNzdW1lDQogdGhlc2UgbGVhZnMgYXJlIG9wdGlvbmFsIGFuZCBubyBkZWZhdWx0IHZh bHVlKS48YnI+DQo8YnI+DQpUaGUgaW50ZXJmYWNlIHR5cGUgaW4gdGhlIFJGQyA4MzQzIG1vZHVs ZSBpcyBjb25maWcgdHJ1ZS4gWUFORyBkb2VzIG5vdCBhbGxvdyB5b3UgdG8gcmVmZXIgdG8gY29u ZmlnIGZhbHNlIG5vZGVzIGluIGNvbnN0cmFpbnRzIHRoYXQgYXBwbHkgdG8gY29uZmlnIHRydWUg bm9kZXMuIEEgY29yZSBwcmluY2lwbGUgaXMgdGhhdCB0aGUgY29udGVudCBvZiBhIGNvbmZpZ3Vy YXRpb24gZGF0YXN0b3JlIGNhbiBiZSB2YWxpZGF0ZWQgd2l0aG91dCBrbm93aW5nDQogdGhlIGFj dHVhbCBzdGF0ZSBvZiB0aGUgc3lzdGVtLjxicj4NCjxicj4NCkZyYW5rOiB5ZXMsIGludGVyZmFj ZSB0eXBlIGlzIGEgY29uZmlnIG5vZGUsIGJ1dCBpdCBpc24ndCBhbGxvdyB0byBiZSBtb2RpZmll ZC4gSWYgYSBjb25maWcgbm9kZSByZWZlcmVuY2UgaWYtdHlwZSwgaW4gb3JkZXIgdG8gdmFsaWRh dGUgZGF0YSBzdWNjZXNzZnVsbHkgLHVzZXIgbXVzdCBoYXZlIHRvIGNvbmZpZyBpZi10eXBlIHdp dGggZGV0ZXJtaW5lZCB2YWx1ZSBhZ2Fpbi4gRm9yIGV4YW1wbGUsIHVzZXIgbXVzdCBjb25maWcg aWYtdHlwZSB3aXRoDQogJ2V0aGVybmV0JyBmb3IgZXRoZXJuZXQwLzAvMS4gSSBkb24ndCB0aGlu ayBpdCBtYWtlcyBzZW5zZS4gVGhlIGlmLXR5cGUgaGFzIGJlZW4gY3JlYXRlZCBieSBzeXN0ZW0s IHdoZW4gcnVubmluZyBjb25maWcgaXMgbWVyZ2VkIHRvICZsdDtvcGVyYXRpb25hbCZndDssIGl0 IGNhbiB3b3JrIGFuZCB0aGUgdmFsaWRhdGlvbiBpcyBzdWNjZXNzZnVsLiBJZiB5b3UgdGhpbmsg cnVubmluZyBkYXRhc3RvcmUgaXMgc2VsZi1jb250YWluZWQsIEkgd2lsbCB0aGluaw0KIHRoZSBz eXN0ZW0gY29uZmlndXJhdGlvbiBzaG91bGQgYmUgaW1wb3J0ZWQgdG8gcnVubmluZyBkYXRhc3Rv cmUgYXV0b21hdGljYWxseSB0byBlbnN1cmUgc3VjY2Vzc2Z1bCB2YWxpZGF0aW9uPG86cD48L286 cD48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9 Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij48bzpwPiZu YnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl PSJtYXJnaW4tbGVmdDozNi4wcHQiPkkgZG91YnQgYW5vdGhlciByZXdyaXRlIG9mIGlldGYtaW50 ZXJmYWNlcyB3b3VsZCBnYWluIG11Y2ggc3VwcG9ydC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxv OnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+VGhlcmUgYXJlIG1hbnkgb2JqZWN0cyB0aGF0IGhh dmUgdXNlciBhY2Nlc3MgcmVzdHJpY3Rpb25zIHRoYXQgYXJlIG5vdCBzdGFuZGFyZGl6ZWQ8bzpw PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt YXJnaW4tbGVmdDozNi4wcHQiPndpdGggbWFjaGluZS1yZWFkYWJsZSBzdGF0ZW1lbnRzLiZuYnNw OyBJIGFtIGludGVyZXN0ZWQgaW4gdGhlIDIgdXNlIGNhc2VzIHRoYXQgQmFsYXpzIGRlc2NyaWJl ZC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPlRoZSBzeXN0ZW0gZG9lcyBpdHMgb3duIGFjY2VzcyBj b250cm9sIChub3QgTkFDTSkgd3J0LyB0aGVzZSBvYmplY3RzLiBUaGUgc2VydmVyIGp1c3Q8bzpw PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt YXJnaW4tbGVmdDozNi4wcHQiPnJlamVjdHMgdGhlIGVkaXQgcmVxdWVzdHMsIGV2ZW4gdGhvdWdo IHRoZSBzdGFuZGFyZCBZQU5HIGluZGljYXRlcyBpdCBzaG91bGQgYmUgd3JpdGFibGUuPG86cD48 L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFy Z2luLWxlZnQ6MzYuMHB0Ij5Tb21lIHN0YW5kYXJkIGV4dGVuc2lvbnMgdG8gdGFnIHRoZSBkYXRh IHdvdWxkIGhlbHAgYXBwbGljYXRpb25zIGJldHRlciBwcmVkaWN0IHNlcnZlciBiZWhhdmlvci48 bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl PSJtYXJnaW4tbGVmdDozNi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+VGhlcmUg aXMgbm8gd2F5IGluIFlBTkcgMS4xIHRvIGhhdmUgYSBjb25maWc9dHJ1ZSBub2RlIHJlZmVyZW5j ZSBjb25maWc9ZmFsc2UgaW4gdGhlIFhQYXRoLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+KFdlbGws IHdlIGltcGxlbWVudCBpdCBidXQgdGhlIGRldmVsb3BlciBoYXMgdG8gZW5hYmxlIGl0KS48bzpw PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt YXJnaW4tbGVmdDozNi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+SSBkbyBub3Qg c2VlIHRoZSBwb2ludCBvZiB0aGUgc3lzdGVtIGRhdGFzdG9yZSBpZiBpdCBjb250YWlucyBjb25m aWc9dHJ1ZSBub2Rlcyw8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPmp1c3Qgc28gdGhhdCBYUGF0aCBj YW4gcmVmZXJlbmNlIGl0LiZuYnNwOyBJIGRvIG5vdCBhZ3JlZSB0aGF0IGl0IGlzIHVzZWZ1bCBv ciBlYXN5IHRvIGltcGxlbWVudCw8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPmVzcGVjaWFsbHkgc2lu Y2UgdGhlIGNvbnRlbnRzIG9mICZsdDtzeXN0ZW0mZ3Q7IGFyZSB2aXNpYmxlIGluICZsdDtpbnRl bmRlZCZndDsuJm5ic3A7IFJlcHJlc2VudGluZyB0aGUgcG9zc2libGU8bzpwPjwvbzpwPjwvcD4N CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDoz Ni4wcHQiPmluc3RhbmNlcyBpcyBub24tdHJpdmlhbCAoZS5nLiBwYXR0ZXJuIGFsbG93ZWQsIG5v dCBhIGZpeGVkIG5hbWUsIHJlc3VsdGluZyBpbiA2IG1pbGxpb24gcG9zc2libGUgdmFsdWVzKS48 bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxpPjxzcGFuIHN0eWxlPSJm b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJp Zjtjb2xvcjojMUY0OTdEIj5bUWl1ZmFuZyBNYV0gSSBkb27igJkgdCBzZWUgYW55IHN5c3RlbSBj b25maWd1cmF0aW9uIGhhbmRsaW5nIGJlaGF2aW9yIHN0YW5kYXJkcyBpbiBub24tTk1EQTsgTk1E QSBkZWZpbmVzIHRoYXQgc3lzdGVtIGNvbmZpZ3VyYXRpb24gc2hvdWxkIG9ubHkgYmUgaW5jbHVk ZWQNCiBpbiAmbHQ7b3BlcmF0aW9uYWwmZ3Q7LiBJIHRoaW5rIGl0IG5lY2Vzc2FyeSB0byBkaXN0 aW5ndWlzaCBiZXR3ZWVuIHN5c3RlbSBjb25maWd1cmF0aW9uIGFuZCBvcGVyYXRpb25hbCBzdGF0 ZS48bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9iPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxi PjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli cmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5TaW5jZSB0aGVyZSBtYXkgYmUgc29t ZSByZXF1aXJlbWVudHMgdG8gcmVmZXJlbmNlIHRoZSBzeXN0ZW0gY29uZmlndXJhdGlvbiwgaXQg ZG9lc27igJl0IHNlZW0gc2Vuc2libGUgdG8gdHJlYXQgc3lzdGVtIGNvbmZpZ3VyYXRpb24gYXMg b3BlcmF0aW9uYWwgc3RhdGUuDQogSSBkb27igJl0IHRoaW5rIHJldHJpZXZhbCBmcm9tICZsdDtv cGVyYXRpb25hbCZndDsgc2hvdWxkIGJlIHRoZSBvbmx5IHdheSB0byBnZXQgc3lzdGVtIGNvbmZp Z3VyYXRpb25zLCBnaXZlbiB0aGUgZGVmaW5pdGlvbiBvZiBvcGVyYXRpb25hbCBkYXRhc3RvcmUu PG86cD48L286cD48L3NwYW4+PC9pPjwvYj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48 aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp JnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+VGhhdCBpcyB0byBzYXksICZsdDtvcGVy YXRpb25hbCZndDsgY29udGFpbnMgYWxsIGFwcGxpZWQgY29uZmlndXJhdGlvbnMgd2hpY2ggZ28g dGhyb3VnaCBjb25maWd1cmF0aW9uIGNvbWJpbmF0aW9uIGFuZCB0ZW1wbGF0ZSBleHBhbnNpb24u IE9ubHkgdGhlIHN5c3RlbSBjb25maWd1cmF0aW9ucw0KIHdoaWNoIHRha2UgZWZmZWN0IGFyZSBp bmNsdWRlZCBhbmQgd2lsbCBiZSB0YWdnZWQgYXMg4oCcb3JpZ2luPWludGVuZGVk4oCdIG9uY2Ug YmVpbmcgcmVmZXJlbmNlZCBpbiAmbHQ7cnVubmluZyZndDsuIEkgYmVsaWV2ZSB0aGVyZSB3b3Vs ZCBiZSBhIG5lZWQgdG8gZ2V0IHRoZSBwdXJlIHN5c3RlbSBjb25maWd1cmF0aW9ucyByZWdhcmRs ZXNzIG9mIHdoZXRoZXIgYmVpbmcgYXBwbGllZCBvciBub3QuPC9zcGFuPjwvaT48L2I+PHNwYW4g c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oyxz YW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0K PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxv OnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+SWYgdGhlIHN5c3RlbSBkYXRhc3RvcmUgY29udGFp bnMgY29uZmlnPWZhbHNlIG5vZGVzLCB0aGVuIHlvdSBhcmUgdGFsa2luZyBhYm91dCBhIHJld3Jp dGU8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPm9mIHRoZSBZQU5HIHZhbGlkYXRpb24gYXJjaGl0ZWN0 dXJlIGFuZCBhIG5ldyB2ZXJzaW9uIG9mIFlBTkcuJm5ic3A7IElNTyB0aGVyZSBpcyBubyBuZWVk IGZvciB0aGF0LjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PGk+PHNw YW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90 OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPltRaXVmYW5nIE1hXSBJIGRvbuKAmXQgdGhpbmsg Jmx0O3N5c3RlbSZndDsgd291bGQgY29udGFpbiBjb25maWc9ZmFsc2Ugbm9kZXMuIEEgcmV3cml0 ZSBvZiB0aGUgWUFORyB2YWxpZGF0aW9uIGFyY2hpdGVjdHVyZSBhbmQgYSBuZXcgdmVyc2lvbiBv ZiBZQU5HIGFyZSBub3Qgb3VyDQogaW50ZW50aW9uLiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOw0KPG86cD48L286cD48L3NwYW4+PC9pPjwvYj48L3A+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtD YWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48 L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5 bGU9ImNvbG9yOiMxRjQ5N0QiPkJlc3QgUmVnYXJkcyw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+UWl1ZmFuZyBN YTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtD YWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD48L286cD48L3NwYW4+ PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1s ZWZ0OjM2LjBwdCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+ PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjoj MUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij5BbmR5PG86cD48L286 cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2lu LWxlZnQ6MzYuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxvOnA+Jm5ic3A7PC9v OnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxl ZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1s ZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9 Im1hcmdpbi1sZWZ0OjM2LjBwdCI+Jmd0OyAyLiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1Nv bWUgaW5zdGFuY2VzIGFyZSBnZW5lcmF0ZWQgYnkgc3lzdGVtLCBidXQgdGhlc2UgaW5zdGFuY2Vz IGNhbiBiZSByZWZlcmVuY2VkIGJ5IG90aGVyIGNvbmZpZyBub2Rlcy4gVGhlIHZhbGlkYXRpb24g bXVzdCBiZSBmYWlsIGlmIHRoZXNlIGluc3RhbmNlcyBhcmUgbm90IGJlIHJlY3JlYXRlZCBieSB1 c2VyIGV4cGxpY2l0bHkgbm93Ljxicj4NCjxicj4NClllcywgYSBjb25maWd1cmF0aW9uIGRhdGFz dG9yZSBpcyBzZWxmLWNvbnRhaW5lZC4gSWYgYSBjbGllbnQgd2FudHMgdG8gY29uZmlndXJlIHRo ZSBpbnRlcmZhY2UgeCwgaXQgaGFzIHRvIGRlZmluZSB0aGUgaW50ZXJmYWNlIHggaW4gdGhlIGNv bmZpZ3VyYXRpb24uIE5vdGUgdGhhdCB0aGlzIHNob3VsZCBub3QgYmUgY29uZnVzZWQgd2l0aCBh IHN5c3RlbSBnZW5lcmF0aW5nIGFuIGludGVyZmFjZSB4IGFmdGVyIHByb2JpbmcgdGhlIGhhcmR3 YXJlLg0KIE5vdGUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBvcGVyYXRpb25hbCBzdGF0ZSwgYXBw bGllZCBjb25maWcsIGFuZCBydW5uaW5nIGNvbmZpZy48YnI+DQo8YnI+DQpGcmFuazogZm9yIGV4 YW1wbGUgLCBwcmVkZWZpbmVkIHBvbGljaWVzIGFyZSBwcm92aWRlZCBieSBzeXN0ZW0sIHVzZXIg Y29uZmlndXJhdGlvbiBjYW4gcmVmZXJlbmNlIHRoZXNlIHByZWRlZmluZWQgcG9saWN5IGRpcmVj dGx5LiBidXQgYmVjYXVzZSBwcmVkZWZpbmVkIHBvbGljaWVzIGFyZSBub3QgY29uZmlndXJlZCBi eSB1c2VyIGV4cGxpY2l0bHksIHRoZSB2YWxpZGF0aW9uIHdpbGwgYmUgZmFpbC4gSWYgeW91IHdh bnQgdG8gZ2V0IGEgc3VjY2Vzc2Z1bA0KIHZhbGlkYXRpb24gLCB1c2VyIE1VU1QgaGF2ZSB0byBy ZWRlZmluZWQgdGhlIHN5c3RlbSBwcmVkZWZpbmVkIHBvbGljaWVzLjxicj4NClNvLCBzeXN0ZW0g cHJlZGVmaW5lZCBkYXRhIGFyZSB1c2VsZXNzLiBJIHRoaW5rIGl0IGlzIHVucmVhc29uYWJsZS48 YnI+DQo8YnI+DQo8YnI+DQo8YnI+DQpMZXQgbWUgYWRkIHRoYXQgdGhlIHVuZGVybHlpbmcgbW9k ZWwgaXMgdGhhdCB0aGUgY2xpZW50KHMpIGhhdmUgY29udHJvbCBvdmVyIHRoZSBjb25maWd1cmF0 aW9uLiBBIHN5c3RlbSBtYWtpbmcgYWQtaG9jIGNoYW5nZXMgdG8gdGhlIGNvbmZpZyAoZXZlbiB3 aXRoIHRoZSBiZXN0IGludGVudGlvbnMpIHdpbGwgYmUgc3VycHJpc2luZy4gSW4gdGhpcyBtb2Rl bCwgdGhlIG9ubHkgd2F5IHRvIGluamVjdCBjb25maWcgaW50byBydW5uaW5nIG9uIHN5c3RlbQ0K IGJvb3QgaXMgdG8gaGF2ZSBhIGNsaWVudCBtYWtpbmcgY2hhbmdlcyB0byBydW5uaW5nIGZvbGxv d2luZyB0aGUgbm9ybWFsIHByb2NlZHVyZXMgLSBhdCBsZWFzdCBjb25jZXB0dWFsbHkuIFRoaXMg bWVhbnMgdGhhdCBjb25jZXB0dWFsbHkgdGhlIG90aGVyIGNsaWVudHMgbmVlZCB0byBiZSBhd2Fy ZSB0aGF0IHRoZXJlIGlzIGEgc3lzdGVtIGNsaWVudCBpbmplY3RpbmcgY29uZmlndXJhdGlvbi48 YnI+DQo8YnI+DQpJZiB5b3UgZm9sbG93IHRoaXMgbG9naWMsIGl0IHNlZW1zIHdyb25nIHRvIGRl ZmluZSBhIHN5c3RlbSBkYXRhc3RvcmUgdGhhdCBpcyBzb21laG93IG1hZ2ljYWxseSBtZXJnZWQg aW50byBydW5uaW5nIC0gYW5kIGl0IGlzIG5vdCBuZWVkZWQuPGJyPg0KPGJyPg0KRnJhbms6IHN5 c3RlbSBjb25maWd1cmF0aW9uIG5vdCBvbmx5IGluY2x1ZGVzIHNvbWUgaW5zdGFuY2VzIGdlbmVy YXRlZCBvbiByZWJvb3QgdGltZSwgYnV0IGFsc28gaW5jbHVkZXMgdGhlIGNvbmZpZ3VyYXRpb24g d2hlbiBoYXJkd2FyZSBpcyBwbHVnZ2VkIGluLCBvciBhIGZ1bmN0aW9uIGlzIGVuYWJsZWQgKGZv ciBleGFtcGxlLCBpbiBodWF3ZWkncyBpbXBsZW1lbnRhdGlvbiwgd2hlbiBRT1MgZnVuY3Rpb24g aXMgZW5hYmxlZCwgbWFueSBxb3MNCiBwcmVkZWZpbmVkIHBvbGljaWVzIGFyZSBjcmVhdGVkIGJ5 IHN5c3RlbSkgb3IgYSB1c2VyLWNyZWF0ZWQgbGlzdCBpbnN0YW5jZSBpcyBjcmVhdGVkLCBzb21l IGxlYWZzJyB2YWx1ZSB3aWxsIGJlIGNyZWF0ZWQgYnkgc3lzdGVtLiBTbyAsIHdlIG5lZWQgYSBz eXN0ZW0gZGF0YXN0b3JlIHRvIGhvbGQgdGhlc2UgY29uZmlndXJhdGlvbi48YnI+DQo8YnI+DQom Z3Q7IDMuJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7VXNlciBtYXkgbmVlZCBrbm93IHdoYXQg dGhlIG9yaWdpbmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGlzLCBpZiB3ZSBnZXQgZGF0YSBmcm9t ICZsdDtvcGVyYXRpb25hbCZndDssIHlvdSBtYXkgZ2V0IHRoZSBtb2RpZmllZCBzeXN0ZW0gY29u ZmlndXJhdGlvbi4oZm9yIGV4YW1wbGUsIHVzZXIgbW9kaWZ5IG9yIHRlbXBsYXRlIGlzIGV4cGFu ZGVkLCBvciBvbmx5IGFjdGl2ZSBpbnN0YW5jZXMpPGJyPg0KPGJyPg0KSWYgeW91IGhhdmUgbXVs dGlwbGUgY2xpZW50cyBtYW5hZ2luZyBzaGFyZWQgY29uZmlndXJhdGlvbiwgdGhlbiB5ZXMgaXQg aXMgZ29vZCBpZiB0aGV5IGFyZSBhd2FyZSBvZiB3aGF0IGlzIGdvaW5nIG9uLiBJIGFtIG5vdCBz dXJlIHlldCB0aGF0IGV4cG9zaW5nIG90aGVyIGNsaWVudHMgaW50ZW50aW9ucyB2aWEgYWRkaXRp b25hbCBkYXRhc3RvcmVzIGFuZCBkZWZpbmluZyBtZXJnZSBtZWNoYW5pc21zIGFuZCBzZW1hbnRp Y3MgaXMgdGhlIHdheQ0KIHRvIGdvLjxicj4NCjxicj4NCiZndDsgSSBkb27igJl0IGNhcmUgYWJv dXQgd2hldGhlciBzeXN0ZW0gZGF0YXN0b3JlIGlzIGltcG9ydGVkIHRvIHJ1bm5pbmcgb3IgaW50 ZW5kZWQgZGF0YXN0b3Jlcy4gQnV0IEkgdGhpbmsgaWYgYSBjb25maWcgbm9kZSByZWZlcmVuY2Ug YSBzeXN0ZW0gbm9kZSwgdGhlIHZhbGlkYXRpb24gKHJ1bm5pbmcgb3IgaW50ZW5kZWQgZGF0YXN0 b3Jlcykgd2lsbCBiZSBzdWNjZXNzZnVsIGV2ZW4gaWYgdGhlIHN5c3RlbSBub2RlIGlzIG5vdCBj b25maWd1cmVkIGJ5DQogdXNlciBleHBsaWNpdGx5Ljxicj4NCjxicj4NCkkgYW0gY29uY2VybmVk IGFib3V0IGhhdmluZyB0byBkZWZpbmUgd2hhdCAmcXVvdDtpcyBpbXBvcnRlZCZxdW90OyBtZWFu cyBwcmVjaXNlbHkgYW5kIHdoZXRoZXIgbW92aW5nIHRvIGEgbW9kZWwgbXVsdGlwbGUgZGF0YXN0 b3JlcyBoYXZlIHRvIGJlIG1lcmdlZCBiZWZvcmUgdmFsaWRhdGlvbiBpcyB0aGUgd2F5IHRvIGdv LiBXZSBhbHJlYWR5IGFja25vd2xlZGdlZCB0aGF0IHRoZXJlIGFyZSB0ZW1wbGF0ZSBleHBhbnNp b25zIGluIHNvbWUgaW1wbGVtZW50YXRpb25zDQogd2l0aG91dCB3b3JraW5nIG91dCBob3cgdGhl eSB3b3JrLjxicj4NCjxicj4NCiZndDsgRXNwZWNpYWxseSBvbiB0aGUgY2xpZW50IHNpZGUsJm5i c3A7IGlmIGEgY2xpZW50IG5lZWQgdmFsaWRhdGUgYWxsIGRhdGEgcmV0cmlldmVkIGZyb20gc2Vy dmVyLCB0aGUgdmFsaWRhdGlvbiBTSE9VTEQgYmUgc3VjY2Vzc2Z1bC4gSWYgc3lzdGVtIGNvbmZp Z3VyYXRpb24gYXJlIG5vdCBpbXBvcnRlZCB0byBydW5uaW5nLCBhdCBhIG1pbmltdW0sIHRoZSBj bGllbnQgbmVlZHMgdG8ga25vdyB3aGF0IHRoZSBvcmlnaW5hbCBzeXN0ZW0gY29uZmlndXJhdGlv bg0KIGlzLiBBbm90aGVyIHdheSBpcyBhZGRpbmcgd2l0aC1zeXN0ZW0tdXNlZCBwYXJhbWV0ZXIg dG8gZ2V0LWNvbmZpZyBvcGVyYXRpb24gdG8gcmV0cmlldmVkIGFsbCB1c2VyIGNvbmZpZ3VyYXRp b24gYW5kIHN5c3RlbSBjb25maWd1cmF0aW9uIHJlZmVyZW5jZWQgYnkgdXNlciBjb25maWd1cmF0 aW9uLjxicj4NCjxicj4NCkxldCBtZSByZXBlYXQsIGluIHRoZSBvcmlnaW5hbCBtb2RlbCwgdGhl IHJ1bm5pbmcgY29uZmlndXJhdGlvbiBkYXRhc3RvcmUgaXMgc2VsZi1jb250YWluZWQgYW5kIGNh biBiZSB2YWxpZGF0ZWQgd2l0aG91dCBrbm93aW5nIGFkZGl0aW9uYWwgZGF0YXN0b3Jlcy48YnI+ DQo8YnI+DQovanM8YnI+DQo8YnI+DQotLSA8YnI+DQpKdWVyZ2VuIFNjaG9lbndhZWxkZXImbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0phY29icyBVbml2ZXJzaXR5IEJy ZW1lbiBnR21iSDxicj4NClBob25lOiAmIzQzOzQ5IDQyMSAyMDAgMzU4NyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDtDYW1wdXMgUmluZyAxIHwgMjg3NTkgQnJlbWVuIHwgR2VybWFu eTxicj4NCkZheDombmJzcDsgJm5ic3A7JiM0Mzs0OSA0MjEgMjAwIDMxMDMmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7Jmx0OzxhIGhyZWY9Imh0dHBzOi8vd3d3LmphY29icy11bml2 ZXJzaXR5LmRlLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3LmphY29icy11bml2ZXJzaXR5 LmRlLzwvYT4mZ3Q7PG86cD48L286cD48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjwvZGl2 Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo= --_000_7a1838a8d89d4de7b36e08c66f6d7c0chuaweicom_-- From nobody Tue Aug 3 20:48:59 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BA15F3A0688 for ; Tue, 3 Aug 2021 20:48:58 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.886 X-Spam-Level: X-Spam-Status: No, score=-1.886 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yZyZ6vxE_2Oh for ; Tue, 3 Aug 2021 20:48:53 -0700 (PDT) Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [IPv6:2a00:1450:4864:20::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F00903A0659 for ; Tue, 3 Aug 2021 20:48:52 -0700 (PDT) Received: by mail-lj1-x231.google.com with SMTP id a7so969607ljq.11 for ; Tue, 03 Aug 2021 20:48:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=eFv0q0KY5ImPqjzgdfMTQz3rhDwkvVCPMA3YjjPMbxs=; b=xF5Kg87rpxiR2toz4tF2TC53RuloAgOqpQvpDVzXs7Qhmp6rrJhGa2yADrWzQu9VSv s87btYrfeBeC/SdDmdandjHs0cYyDAWZGus7dImsoF4BfsQLiZZmJXYOqH432V1VQmI0 dNrrAx4sCyOwA8PjQFvJ+1h9JLJlb3NVl+qI+V4ukZ3NXBeKKklWAeCbfAQHkyZnPpw1 C0vtAX34gUh4rFs4RrfWaEhRZSPMR3BoPOoNSHShDD0CYuSiBBgf2VxgVnvFfKWuNZ1C 9p36PKd1pLoqTReENkxkmCqdlWTYH2Izzk0g/mDNVCJTCzJBtRMn7YAI6bAHp5KtJBa8 XCBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=eFv0q0KY5ImPqjzgdfMTQz3rhDwkvVCPMA3YjjPMbxs=; b=RK0zEDtbhbz7YqYPID/BXAISllKiSHBB7Clm2MolvIhGVVxKypsx6sotz22hz6kzi/ kVrO1lQ8GN1UlsFZwLAC05cZ3N1hBfBLdj8n79x7pGrLYt/tzomMHngn3iFbWtQTG9zu SE6+Zqx13XZLkhGNY9Hu5jlf8MQCNSb5fDrHvquBiqCi7hG8YoscNIcWXy2Z9dvnEvaG jlErj8NgU8pWBJKXOmouTCSz4vFiEZ4NGgabozkgT2YTv/YMSDA9wIulIxjP565c44ZG 4HjgS893ZGKTnofT4tO8zkk9WNRDmqVLx+6D03BCzYK7Eb/uX30zkuzbXpLgUGeErSwp AKxQ== X-Gm-Message-State: AOAM530lGK9gvbyTsOQlBGm9Um8yuEciyzHc3fz7iFtqa7Mi6euXV9rY YhprDoI7oIiPp0KNu28FIlxPe+tdCoQ+34Gd1J3L/g== X-Google-Smtp-Source: ABdhPJzaXZ2eGHi+CoCXmLU3hAlujzvmdUbKaWal9E66L14l5lqRKXIP/8K31/1cNsKyqHGqzBfKsjD1CyVmz5rDuxw= X-Received: by 2002:a05:651c:1792:: with SMTP id bn18mr17380151ljb.325.1628048930457; Tue, 03 Aug 2021 20:48:50 -0700 (PDT) MIME-Version: 1.0 References: <7a1838a8d89d4de7b36e08c66f6d7c0c@huawei.com> In-Reply-To: <7a1838a8d89d4de7b36e08c66f6d7c0c@huawei.com> From: Andy Bierman Date: Tue, 3 Aug 2021 20:48:39 -0700 Message-ID: To: "maqiufang (A)" Cc: "netmod@ietf.org" Content-Type: multipart/alternative; boundary="0000000000002d6af205c8b3ae73" Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2021 03:48:59 -0000 --0000000000002d6af205c8b3ae73 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, I do not agree that a new datastore is needed to supposedly retrieve the system created nodes that exist (already supported by get-data) or the nodes that could be created by the server but do not currently exist. The element is way too simplistic to represent all the real-world possibilities. Current XPath procedures define several contexts for evaluating expressions= . None of these procedures support an additional datastore that is somehow merged with the other datastores for XPath purposes. YANG 1.1 does not support this proposal at all. Andy On Tue, Aug 3, 2021 at 8:34 PM maqiufang (A) wrote: > Hi, Andy, > > > > Apologize for my chiming in. Please see my reply inline. > > > > *From:* netmod [mailto:netmod-bounces@ietf.org] *On Behalf Of *Andy > Bierman > *Sent:* Wednesday, August 4, 2021 1:11 AM > *To:* Fengchong (frank) > *Cc:* Bal=C3=A1zs Lengyel ; > netmod@ietf.org > *Subject:* Re: [netmod] =E7=AD=94=E5=A4=8D: system configuration sync mec= hanism > > > > > > > > On Tue, Aug 3, 2021 at 12:34 AM Fengchong (frank) < > frank.fengchong@huawei.com> wrote: > > Hi juergen, > Please see my comments inline. > > /frank > > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > =E5=8F=91=E4=BB=B6=E4=BA=BA: J=C3=BCrgen Sch=C3=B6nw=C3=A4lder [mailto:j.= schoenwaelder@jacobs-university.de] > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2021=E5=B9=B48=E6=9C=883=E6=97=A5 1= 2:15 > =E6=94=B6=E4=BB=B6=E4=BA=BA: Fengchong (frank) > =E6=8A=84=E9=80=81: Andy Bierman ; Kent Watsen ; > Bal=C3=A1zs Lengyel ; > netmod@ietf.org > =E4=B8=BB=E9=A2=98: Re: [netmod] =E7=AD=94=E5=A4=8D: system configuration= sync mechanism > > On Tue, Aug 03, 2021 at 01:45:40AM +0000, Fengchong (frank) wrote: > > Hi andy and all. > > > > I don=E2=80=99t think get-data with origin can solve the issues below: > > > > > > 1. Some leafs like interface type CAN NOT be modified by user, bu= t > can be referenced by other config nodes(e.g. using leafref or occur in > when/must). The validation will be fail if these leafs are not be > configured by user now explicitly (we assume these leafs are optional and > no default value). > > The interface type in the RFC 8343 module is config true. YANG does not > allow you to refer to config false nodes in constraints that apply to > config true nodes. A core principle is that the content of a configuratio= n > datastore can be validated without knowing the actual state of the system= . > > Frank: yes, interface type is a config node, but it isn't allow to be > modified. If a config node reference if-type, in order to validate data > successfully ,user must have to config if-type with determined value agai= n. > For example, user must config if-type with 'ethernet' for ethernet0/0/1. = I > don't think it makes sense. The if-type has been created by system, when > running config is merged to , it can work and the validation > is successful. If you think running datastore is self-contained, I will > think the system configuration should be imported to running datastore > automatically to ensure successful validation > > > > > > I doubt another rewrite of ietf-interfaces would gain much support. > > > > There are many objects that have user access restrictions that are not > standardized > > with machine-readable statements. I am interested in the 2 use cases tha= t > Balazs described. > > The system does its own access control (not NACM) wrt/ these objects. The > server just > > rejects the edit requests, even though the standard YANG indicates it > should be writable. > > Some standard extensions to tag the data would help applications better > predict server behavior. > > > > There is no way in YANG 1.1 to have a config=3Dtrue node reference > config=3Dfalse in the XPath. > > (Well, we implement it but the developer has to enable it). > > > > I do not see the point of the system datastore if it contains config=3Dtr= ue > nodes, > > just so that XPath can reference it. I do not agree that it is useful or > easy to implement, > > especially since the contents of are visible in . > Representing the possible > > instances is non-trivial (e.g. pattern allowed, not a fixed name, > resulting in 6 million possible values). > > *[Qiufang Ma] I don=E2=80=99 t see any system configuration handling beha= vior > standards in non-NMDA; NMDA defines that system configuration should only > be included in . I think it necessary to distinguish between > system configuration and operational state.* > > *Since there may be some requirements to reference the system > configuration, it doesn=E2=80=99t seem sensible to treat system configura= tion as > operational state. I don=E2=80=99t think retrieval from sho= uld be the > only way to get system configurations, given the definition of operationa= l > datastore.* > > *That is to say, contains all applied configurations which > go through configuration combination and template expansion. Only the > system configurations which take effect are included and will be tagged a= s > =E2=80=9Corigin=3Dintended=E2=80=9D once being referenced in . I= believe there would > be a need to get the pure system configurations regardless of whether bei= ng > applied or not.* > > > > If the system datastore contains config=3Dfalse nodes, then you are talki= ng > about a rewrite > > of the YANG validation architecture and a new version of YANG. IMO there > is no need for that. > > *[Qiufang Ma] I don=E2=80=99t think would contain config=3Dfalse= nodes. A > rewrite of the YANG validation architecture and a new version of YANG are > not our > intention. > * > > > > Best Regards, > > Qiufang Ma > > > > > > Andy > > > > > > > 2. Some instances are generated by system, but these instances ca= n > be referenced by other config nodes. The validation must be fail if these > instances are not be recreated by user explicitly now. > > Yes, a configuration datastore is self-contained. If a client wants to > configure the interface x, it has to define the interface x in the > configuration. Note that this should not be confused with a system > generating an interface x after probing the hardware. Note the difference > between operational state, applied config, and running config. > > Frank: for example , predefined policies are provided by system, user > configuration can reference these predefined policy directly. but because > predefined policies are not configured by user explicitly, the validation > will be fail. If you want to get a successful validation , user MUST have > to redefined the system predefined policies. > So, system predefined data are useless. I think it is unreasonable. > > > > Let me add that the underlying model is that the client(s) have control > over the configuration. A system making ad-hoc changes to the config (eve= n > with the best intentions) will be surprising. In this model, the only way > to inject config into running on system boot is to have a client making > changes to running following the normal procedures - at least conceptuall= y. > This means that conceptually the other clients need to be aware that ther= e > is a system client injecting configuration. > > If you follow this logic, it seems wrong to define a system datastore tha= t > is somehow magically merged into running - and it is not needed. > > Frank: system configuration not only includes some instances generated on > reboot time, but also includes the configuration when hardware is plugged > in, or a function is enabled (for example, in huawei's implementation, wh= en > QOS function is enabled, many qos predefined policies are created by > system) or a user-created list instance is created, some leafs' value wil= l > be created by system. So , we need a system datastore to hold these > configuration. > > > 3. User may need know what the original system configuration is, > if we get data from , you may get the modified system > configuration.(for example, user modify or template is expanded, or only > active instances) > > If you have multiple clients managing shared configuration, then yes it i= s > good if they are aware of what is going on. I am not sure yet that exposi= ng > other clients intentions via additional datastores and defining merge > mechanisms and semantics is the way to go. > > > I don=E2=80=99t care about whether system datastore is imported to runn= ing or > intended datastores. But I think if a config node reference a system node= , > the validation (running or intended datastores) will be successful even i= f > the system node is not configured by user explicitly. > > I am concerned about having to define what "is imported" means precisely > and whether moving to a model multiple datastores have to be merged befor= e > validation is the way to go. We already acknowledged that there are > template expansions in some implementations without working out how they > work. > > > Especially on the client side, if a client need validate all data > retrieved from server, the validation SHOULD be successful. If system > configuration are not imported to running, at a minimum, the client needs > to know what the original system configuration is. Another way is adding > with-system-used parameter to get-config operation to retrieved all user > configuration and system configuration referenced by user configuration. > > Let me repeat, in the original model, the running configuration datastore > is self-contained and can be validated without knowing additional > datastores. > > /js > > -- > Juergen Schoenwaelder Jacobs University Bremen gGmbH > Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany > Fax: +49 421 200 3103 > > --0000000000002d6af205c8b3ae73 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,


I do not agree that = a new datastore is needed to supposedly retrieve the
system creat= ed nodes that exist (already supported by get-data) or
the nodes = that could be created by the server but do not currently exist.
T= he=C2=A0 <config> element is way too simplistic to represent all the = real-world
possibilities.

Current XPath = procedures define several contexts for evaluating expressions.
No= ne of these procedures support an additional <system> datastore that = is somehow
merged with the other datastores for XPath purposes.= =C2=A0 YANG 1.1 does not support
this proposal at all.
=

Andy


=

On Tue, Aug 3, 2021 at 8:34 PM maqiufang (A) <maqiufang1@huawei.com> wrote:

Hi, Andy,

=C2=A0

Apologize for my chiming in. Please see my r= eply inline.

=C2=A0

From: netmod [mailto:netmod-bounces@ietf.org] On Behalf Of Andy Bierman
Sent: Wednesday, August 4, 2021 1:11 AM
To: Fengchong (frank) <frank.fengchong@huawei.com>
Cc: Bal=C3=A1zs Lengyel <balazs.lengyel=3D40ericsson.com@dmarc.ietf.org>; netmod@ietf.or= g
Subject: Re: [netmod]
=E7=AD=94=E5=A4=8D: system configuration s= ync mechanism

=C2=A0

=C2=A0

=C2=A0

On Tue, Aug 3, 2021 at 12= :34 AM Fengchong (frank) <frank.fengchong@huawei.com> wrote:

Hi juergen,
=C2=A0 Please see my comments inline.

=C2=A0 /frank

-----=E9=82= =AE=E4=BB=B6=E5=8E=9F=E4=BB=B6-----
=E5=8F=91=E4= =BB=B6=E4=BA=BA: J=C3=BCrgen Sch=C3=B6nw=C3=A4lder [mailto:j.schoen= waelder@jacobs-university.de]
=E5=8F=91=E9= =80=81=E6=97=B6=E9=97=B4: 2021=E5=B9=B48=E6=9C=883=E6=97=A5 12:15
=E6=94=B6=E4= =BB=B6=E4=BA=BA: Fengchong (frank) <frank.fengchong@huawei.com>
=E6=8A=84=E9= =80=81: Andy Bierman <andy@yumaworks.com>; Kent Watsen <kent+ietf@watsen.net>; Bal= =C3=A1zs Lengyel <balazs.lengyel=3D40ericsson.com@dmarc.ietf.org>; netmod@ietf.org =E4=B8=BB=E9= =A2=98: Re: [netmod] =E7=AD=94=E5=A4=8D: system configuration sync mechanism

On Tue, Aug 03, 2021 at 01:45:40AM +0000, Fengchong (frank) wrote:
> Hi andy and all.
>
> I don=E2=80=99t think get-data with origin can solve the issues below:=
>
>
> 1.=C2=A0 =C2=A0 =C2=A0 =C2=A0Some leafs like interface type CAN NOT be= modified by user, but can be referenced by other config nodes(e.g. using l= eafref or occur in when/must). The validation will be fail if these leafs a= re not be configured by user now explicitly (we assume these leafs are optional and no default value).

The interface type in the RFC 8343 module is config true. YANG does not all= ow you to refer to config false nodes in constraints that apply to config t= rue nodes. A core principle is that the content of a configuration datastor= e can be validated without knowing the actual state of the system.

Frank: yes, interface type is a config node, but it isn't allow to be m= odified. If a config node reference if-type, in order to validate data succ= essfully ,user must have to config if-type with determined value again. For= example, user must config if-type with 'ethernet' for ethernet0/0/1. I don't think it makes sense. Th= e if-type has been created by system, when running config is merged to <= operational>, it can work and the validation is successful. If you think= running datastore is self-contained, I will think the system configuration should be imported to running datastore automatic= ally to ensure successful validation

=C2=A0

=C2=A0

I doubt another rewrite o= f ietf-interfaces would gain much support.

=C2=A0

There are many objects th= at have user access restrictions that are not standardized

with machine-readable sta= tements.=C2=A0 I am interested in the 2 use cases that Balazs described.=

The system does its own a= ccess control (not NACM) wrt/ these objects. The server just<= /p>

rejects the edit requests= , even though the standard YANG indicates it should be writable.<= /u>

Some standard extensions = to tag the data would help applications better predict server behavior.<= /u>

=C2=A0

There is no way in YANG 1= .1 to have a config=3Dtrue node reference config=3Dfalse in the XPath.

(Well, we implement it bu= t the developer has to enable it).

=C2=A0

I do not see the point of= the system datastore if it contains config=3Dtrue nodes,

just so that XPath can re= ference it.=C2=A0 I do not agree that it is useful or easy to implement,=

especially since the cont= ents of <system> are visible in <intended>.=C2=A0 Representing = the possible

instances is non-trivial = (e.g. pattern allowed, not a fixed name, resulting in 6 million possible va= lues).

[Qiufang Ma] I don=E2=80=99 t see any = system configuration handling behavior standards in non-NMDA; NMDA defines = that system configuration should only be included in <operational>. I think it necessary to distinguish between system= configuration and operational state.

Since there may be some requirements t= o reference the system configuration, it doesn=E2=80=99t seem sensible to t= reat system configuration as operational state. I don=E2=80=99t think retrieval from <operational> should be the onl= y way to get system configurations, given the definition of operational dat= astore.

That is to say, <operational> co= ntains all applied configurations which go through configuration combinatio= n and template expansion. Only the system configurations which take effect are included and will be tagged as =E2=80=9Corigin=3Dint= ended=E2=80=9D once being referenced in <running>. I believe there wo= uld be a need to get the pure system configurations regardless of whether b= eing applied or not.

=C2=A0

If the system datastore c= ontains config=3Dfalse nodes, then you are talking about a rewrite

of the YANG validation ar= chitecture and a new version of YANG.=C2=A0 IMO there is no need for that.<= u>

[Qiufang Ma] I don=E2=80=99t think <= ;system> would contain config=3Dfalse nodes. A rewrite of the YANG valid= ation architecture and a new version of YANG are not our intention.=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0

=C2=A0

Best Regards,

Qiufang Ma

=C2=A0

=C2=A0

Andy

=C2=A0

=C2=A0

> 2.=C2=A0 =C2=A0 =C2= =A0 =C2=A0Some instances are generated by system, but these instances can b= e referenced by other config nodes. The validation must be fail if these in= stances are not be recreated by user explicitly now.

Yes, a configuration datastore is self-contained. If a client wants to conf= igure the interface x, it has to define the interface x in the configuratio= n. Note that this should not be confused with a system generating an interf= ace x after probing the hardware. Note the difference between operational state, applied config, and running= config.

Frank: for example , predefined policies are provided by system, user confi= guration can reference these predefined policy directly. but because predef= ined policies are not configured by user explicitly, the validation will be= fail. If you want to get a successful validation , user MUST have to redefined the system predefined policies. So, system predefined data are useless. I think it is unreasonable.



Let me add that the underlying model is that the client(s) have control ove= r the configuration. A system making ad-hoc changes to the config (even wit= h the best intentions) will be surprising. In this model, the only way to i= nject config into running on system boot is to have a client making changes to running following the normal pr= ocedures - at least conceptually. This means that conceptually the other cl= ients need to be aware that there is a system client injecting configuratio= n.

If you follow this logic, it seems wrong to define a system datastore that = is somehow magically merged into running - and it is not needed.

Frank: system configuration not only includes some instances generated on r= eboot time, but also includes the configuration when hardware is plugged in= , or a function is enabled (for example, in huawei's implementation, wh= en QOS function is enabled, many qos predefined policies are created by system) or a user-created list instance= is created, some leafs' value will be created by system. So , we need = a system datastore to hold these configuration.

> 3.=C2=A0 =C2=A0 =C2=A0 =C2=A0User may need know what the original syst= em configuration is, if we get data from <operational>, you may get t= he modified system configuration.(for example, user modify or template is e= xpanded, or only active instances)

If you have multiple clients managing shared configuration, then yes it is = good if they are aware of what is going on. I am not sure yet that exposing= other clients intentions via additional datastores and defining merge mech= anisms and semantics is the way to go.

> I don=E2=80=99t care about whether system datastore is imported to run= ning or intended datastores. But I think if a config node reference a syste= m node, the validation (running or intended datastores) will be successful = even if the system node is not configured by user explicitly.

I am concerned about having to define what "is imported" means pr= ecisely and whether moving to a model multiple datastores have to be merged= before validation is the way to go. We already acknowledged that there are= template expansions in some implementations without working out how they work.

> Especially on the client side,=C2=A0 if a client need validate all dat= a retrieved from server, the validation SHOULD be successful. If system con= figuration are not imported to running, at a minimum, the client needs to k= now what the original system configuration is. Another way is adding with-system-used parameter to get-config operati= on to retrieved all user configuration and system configuration referenced = by user configuration.

Let me repeat, in the original model, the running configuration datastore i= s self-contained and can be validated without knowing additional datastores= .

/js

--
Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs Univer= sity Bremen gGmbH
Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1 | 28= 759 Bremen | Germany
Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<https://www.jac= obs-university.de/>

--0000000000002d6af205c8b3ae73-- From nobody Tue Aug 3 23:17:08 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A9A6C3A0E7B; Tue, 3 Aug 2021 23:16:53 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.098 X-Spam-Level: X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cesnet.cz Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DR4RyoozMSGX; Tue, 3 Aug 2021 23:16:48 -0700 (PDT) Received: from kalendar.cesnet.cz (kalendar.cesnet.cz [IPv6:2001:718:1:1f:50:56ff:feee:34]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E4D763A0E7A; Tue, 3 Aug 2021 23:16:47 -0700 (PDT) Received: by kalendar.cesnet.cz (Postfix, from userid 110) id C12F760084; Wed, 4 Aug 2021 08:16:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cesnet.cz; s=kalendar; t=1628057802; bh=xcowt7pCtTlCAkcSVHKD7upg0H2maEyhxWZMgnEHlQM=; h=From:In-Reply-To:Date:Cc:To:Subject; b=LyhG2IiSoDp8e3GpnOaM0WwPduhTyr0stUL4eAvaGR/DvSgtUvLBlg04RMnD80zFg wlHp6M0DctZCzJxu3rYdguNbgbSyIPS846TD7niabb+kTQt/Tot6jG4Gsf0yRVAFB2 x8uvYxrzt6iGgxmXATRp8bhaGSBb2wOHKkFaMmE8= From: =?utf-8?q?Michal_Va=C5=A1ko?= In-Reply-To: Content-Type: text/plain; charset="utf-8" X-Forward: 2001:67c:1220:80c:b5:55d3:81d5:8636 Date: Wed, 04 Aug 2021 08:16:42 +0200 Cc: "Mahesh Jethanandani" , "Netconf" , "netmod" To: "Alexander Clemm" MIME-Version: 1.0 Message-ID: <4f62-610a3100-27-572d3100@123539460> User-Agent: SOGoMail 5.1.0 Content-Transfer-Encoding: quoted-printable Archived-At: Subject: Re: [netmod] =?utf-8?q?=5Bnetconf=5D__ietf-subscribed-notifications_?= =?utf-8?q?RPC_modify-subscription?= X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2021 06:16:54 -0000 Hi Alex, thanks for the reply and I see that I should have included more details= . I understand the design (but it was confusing at first) in general be= cause we have implemented YANG Push as well. However, I do not think > you have a mandatory choice, but can select a case whose nodes are op= tional applies. YANG 1.1 clearly defines [1] that some data nodes must exist i= n a mandatory choice. In this case it can be "stream-filter-name", "str= eam-subtree-filter", or "stream-xpath-filter" (clearly seen from the tr= ee snippet you referenced) but I think it should be allowed to not incl= ude any of these. Please, provide a valid example of "modify-subscripti= on" invocation that uses no filter, I could not come up with any. In my opinion, there should be a refine on the "subscription-policy-mod= ifiable" grouping in this case and change the mandatory to "false". Pro= vided that it should not be allowed to change the stream of a subscript= ion, which I guess it should not. Regards, Michal [1] https://datatracker.ietf.org/doc/html/rfc7950#section-7.9.4 > I am just rereading this (sorry, it's been a while since we wrote thi= s). > > When you look at the modify-subscription RPC, the "case stream" itsel= f is optional, even if the choice "target" is mandatory. So, it is in = fact optional to include, no need to specify a null filter. (However, = when present, then parameters of the individual choices need to be pres= ent as well.) In effect, you have a mandatory choice, but can select a= case whose nodes are optional. This is depicted in the Tree Diagram h= ere: RFC 8639: Subscription to YANG Notifications (rfc-editor.org) > > What may also be confusing at first is the fact that the choice "targ= et" itself has "stream" as the single case (in RFC 8639). So, why put = a choice there in the first place? The reason why it is there is so tha= t it can be augmented, and RFC 8641 specifies a second case, namely "da= tastore". > --- Alex > > From: netmod On Behalf Of Alexander Clemm > Sent: Tuesday, August 3, 2021 11:21 AM > To: Mahesh Jethanandani ; Netconf > Cc: netmod > Subject: Re: [netmod] ietf-subscribed-notifications RPC modify-subscr= iption > > Hi, > When you modify the subscription, you need to specify the subscriptio= n parameters that you want to modify the subscription to - i.e. the su= bscription parameters that you want to be in effect after modifying the= subscription. If you want nothing to be filtered, just specify a "null= " filter. > --- Alex > > From: netmod = > On Behalf Of Mahesh Jethanandani > Sent: Tuesday, August 3, 2021 10:14 AM > To: Netconf > > Cc: netmod > > Subject: Re: [netmod] ietf-subscribed-notifications RPC modify-subscr= iption > > [Cross posting to netconf] > > On Aug 3, 2021, at 6:01 AM, Michal Va=C5=A1ko > wrote: > > Hi, > > it seems the "modify-subscription" RPC [1] includes a mandatory choic= e "target" [2]. In effect, it is not possible to modify a subscription = for it to be without a filter. I do not understand the reason for this,= is it intentional or an error in the module? > > Regards, > Michal > > [1] https://www.rfc-editor.org/rfc/rfc8639#page-53 > [2] https://www.rfc-editor.org/rfc/rfc8639#page-48 > > =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= > netmod mailing list > netmod@ietf.org > https://www.ietf.org/mailman/listinfo/netmod > > Mahesh Jethanandani > mjethanandani@gmail.com > > > > From nobody Wed Aug 4 05:34:52 2021 Return-Path: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@amazonses.watsen.net> X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0F5CD3A1825 for ; Wed, 4 Aug 2021 05:34:50 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.899 X-Spam-Level: X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KGZjiYR6QvtE for ; Wed, 4 Aug 2021 05:34:46 -0700 (PDT) Received: from a8-96.smtp-out.amazonses.com (a8-96.smtp-out.amazonses.com [54.240.8.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8F9093A1834 for ; Wed, 4 Aug 2021 05:34:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1628080485; h=Content-Type:Content-Transfer-Encoding:From:Mime-Version:Subject:Date:Message-Id:References:Cc:In-Reply-To:To:Feedback-ID; bh=x44rtLgSOeYG/HZf2/b8RNKpa7XVEfglkJaqURuR44o=; b=hzvxlAUub0auF0lahOzQ8sE+GuJ8R79eZb1NnYTuudaIwnoHwIdRx3LK6szIJLfx vyjYH+qZncvN8xajPisbn7lwWfYVrlE/k9LLDJPy60cyUUhp+rBICg6EBbLEX358tC4 W/kp/wXjpxQ72Kdlt4cbh+aY8lc2g7fw9KudOyG8= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: Kent Watsen Mime-Version: 1.0 (1.0) Date: Wed, 4 Aug 2021 12:34:45 +0000 Message-ID: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@email.amazonses.com> References: Cc: "maqiufang (A)" , netmod@ietf.org In-Reply-To: To: Andy Bierman X-Mailer: iPhone Mail (18F72) Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES X-SES-Outgoing: 2021.08.04-54.240.8.96 Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2021 12:34:50 -0000 I am confused by the confusion ;) You all know that JUNOS implemented this concept before YANG was even a thin= g, right? =20 Admittedly, it=E2=80=99s not a =E2=80=9Cdatastore=E2=80=9C, but flexing the N= MDA is where we can do better.=20 A =E2=80=9Cwith-system=E2=80=9D mechanism could also work. The only downsid= e is the inability for a client to get only the system configuration, withou= t the rest of . =20 Please stop stating/suggesting =E2=80=9Cconfig true=E2=80=9D nodes are refer= encing =E2=80=9Cconfig false=E2=80=9D nodes, or that config is referencing o= perational state. There is no intention to break either of these tenants he= re. =20 I think that some folks just joined the conversation and may have missed out= when we covered all this before. =20 The draft needs to be updated to more clearly identify the goals.=20 K.=20 From nobody Wed Aug 4 06:19:57 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 530993A1A8E for ; Wed, 4 Aug 2021 06:19:56 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.887 X-Spam-Level: X-Spam-Status: No, score=-1.887 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DrcRdiGpKidi for ; Wed, 4 Aug 2021 06:19:51 -0700 (PDT) Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7E1913A1A8A for ; Wed, 4 Aug 2021 06:19:51 -0700 (PDT) Received: by mail-wm1-x32f.google.com with SMTP id f9-20020a05600c1549b029025b0f5d8c6cso3910482wmg.4 for ; Wed, 04 Aug 2021 06:19:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=KTzz0akStGHyyqUtqAOdlKbiBZIvUgSyLsmiG2PVEwA=; b=0kf7RwTr0ogMLnVH1YdbdBtjS7KorKhvSA94+eFasIJWS2rg2tY+5tckHj7czrU42m b5x5DV/my60nGdCkOmbb6j9BinQlrGarkCmvwd/WMO5tftuZ7BuuAmVOg66boVCzy8Nh mWeYABGUkhZybkIA8sBLQS4+PcxU8qXRAliJRVVsXgG3uf0FRRpZZ+MJ0tij0gBegaEx s6Kv4D76ijPZ6Td2W7GCfloTZ7XPI6fAmfA3v1m0gGkJLpcscUlpTf/F77TRTO3imm0i pRsmsFH1CFUZdjoCiFeelY4504PRhgVtnfeS3v3KrpOYhjV/CqEOogVYYaS8u9NxFgB4 ZT9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=KTzz0akStGHyyqUtqAOdlKbiBZIvUgSyLsmiG2PVEwA=; b=HJzaR65eFRQQkzolVygTRrLgP7lWjLNDK4cDp9S6S3OFLlzGXigkqFml0n16xjCNsm cqlQU5VCBrkNoSQom7+nTGsjIWxP2pFtkjkj7kXuAEEv7rsjMo8ZRGHDCBlW+XspfYX2 7hQasbHbAv3XUOCyKveydB9seHaY2e6Qi2h5bGj6V8EfJjGwNoMql6iJQUML7E8eOiw8 jBfVO4WeJxPgtn0qGhU2aHjxHWtANJb9kajgG53Gw9+nIAQEOCbq8bV73lVZgJebg2fq IvirjwJl06VZSrA6+jq6p0O5fsxSFFnpkZ/LCLTvDVMYMEUAKn1LsahyJbeLoylcGc4D DUjA== X-Gm-Message-State: AOAM533OP/kRdUhJCXoDieFVIUVMe9r2q1IvLTd/Cu4ZyF8gihP2rCSK TWWAvRtBqirW121qx/DLjszr7xXmw9Cy6YSCYHWYZQ== X-Google-Smtp-Source: ABdhPJxmbb2N2Ld9xvElASdA/buHJMT6ao1qaWvu4QLnuWucrUpsx6i1dUks+XukJcP6UbZ9sFGiWu1m9F37blbRiaw= X-Received: by 2002:a7b:c7da:: with SMTP id z26mr9729458wmk.147.1628083189287; Wed, 04 Aug 2021 06:19:49 -0700 (PDT) MIME-Version: 1.0 References: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@email.amazonses.com> In-Reply-To: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@email.amazonses.com> From: Andy Bierman Date: Wed, 4 Aug 2021 06:19:38 -0700 Message-ID: To: Kent Watsen Cc: "maqiufang (A)" , NetMod WG Content-Type: multipart/alternative; boundary="00000000000029a54805c8bba843" Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2021 13:19:56 -0000 --00000000000029a54805c8bba843 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Aug 4, 2021 at 5:34 AM Kent Watsen wrote: > > I am confused by the confusion ;) > > You all know that JUNOS implemented this concept before YANG was even a > thing, right? > > Admittedly, it=E2=80=99s not a =E2=80=9Cdatastore=E2=80=9C, but flexing t= he NMDA is where we can > do better. > > A =E2=80=9Cwith-system=E2=80=9D mechanism could also work. The only down= side is the > inability for a client to get only the system configuration, without the > rest of . > > Please stop stating/suggesting =E2=80=9Cconfig true=E2=80=9D nodes are re= ferencing =E2=80=9Cconfig > false=E2=80=9D nodes, or that config is referencing operational state. = There is > no intention to break either of these tenants here. > > I think that some folks just joined the conversation and may have missed > out when we covered all this before. > > The draft needs to be updated to more clearly identify the goals. I strongly agree the draft could better explain the problem and the value of the solution, especially how this datastore is used to represent system values that are not in use. Since NMDA already provides a solution to retrieve the "system-only" nodes that are in use, there is no value in that part of the system datastore at all. Also some pointers to implementations of this system datastore would be helpful. I am confused because there was an assertion made that this system datastore was needed so that the nodes could be referenced in config XPath. This is not correct. The solution that Balazs outlined is quite common and much better and less disruptive than adding a new datastore. It is trivial to identify the user-write operations that are allowed (e.g. modify but not create, delete, or rename a physical interface). > > K. > > Andy --00000000000029a54805c8bba843 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Wed, Aug 4, 2021 at 5:34 AM Kent W= atsen <kent@watsen.net> wrote:=

I am confused by the confusion=C2=A0 ;)

You all know that JUNOS implemented this concept before YANG was even a thi= ng, right?=C2=A0

Admittedly, it=E2=80=99s not a =E2=80=9Cdatastore=E2=80=9C, but flexing the= NMDA is where we can do better.

A =E2=80=9Cwith-system=E2=80=9D mechanism could also work.=C2=A0 The only d= ownside is the inability for a client to get only the system configuration,= without the rest of <running>.=C2=A0 =C2=A0

Please stop stating/suggesting =E2=80=9Cconfig true=E2=80=9D nodes are refe= rencing =E2=80=9Cconfig false=E2=80=9D nodes,=C2=A0 or that config is refer= encing operational state.=C2=A0 There is no intention to break either of th= ese tenants here.=C2=A0

I think that some folks just joined the conversation and may have missed ou= t when we covered all this before.=C2=A0

The draft needs to be updated to more clearly identify the goals.


I strongly agree the draft could bett= er explain the problem and the value of the solution, especially how
<= div>this datastore is used to represent system values that are not in use. = Since NMDA already
provides a solution to retrieve the "syst= em-only" nodes that are in use, there is no value in that part
of the system datastore at all.

Also some point= ers to implementations of this system datastore would be helpful.

I am confused because there was an assertion made that this= system datastore was needed
so that the nodes could be reference= d in config XPath.=C2=A0 This is not correct.=C2=A0 The solution that Balaz= s
outlined is quite common and much better and less disruptive th= an adding a new datastore.
It is trivial to identify the user-wri= te operations that are allowed (e.g. modify but not create, delete,
or rename a physical interface).



K.


Andy
=C2=A0
--00000000000029a54805c8bba843-- From nobody Wed Aug 4 06:40:07 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BD1343A17AD for ; Wed, 4 Aug 2021 06:40:05 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=jacobsuniversity.onmicrosoft.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fQnl_jAX3X7R for ; Wed, 4 Aug 2021 06:40:01 -0700 (PDT) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50051.outbound.protection.outlook.com [40.107.5.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E164E3A1976 for ; Wed, 4 Aug 2021 06:40:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gKjbniQ6vU1P4UPOUpUyQHXNdm5mYkcZDdAwtUd664IeASkzoebJuF8ZdG85MDssLMXAM/JbMXb47hRyOJXpO8BL9ND6n8n3pTHqp0YgNtf54K87e5s+qFR/ByQNQOM6lqbqIwqpldhKyEAldKdr/u1W8EgHuLMKXU8/zyFfYV5bYbKJMDNIxnSSocXx+V75xkMBaAyQxxqDSFEez3wgzawiuUoOyKmtTvBBlBpWZ2kDnyin2ml2nkTL/Ku5OcRz8VXZEQoEFrQ27mknCoSgsXlFdq30hVxLpN5tAHBUQh9uyoyuHOrFidJSnMQFvUgyUZjSgT1auVrRBbEw5Be4Jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9My157o2N5cH63rl9IkbBew/xs8G/TmNnRKdG6jIN9o=; b=obB9LW/MSuETNBVsFuEwq6J+/1nLSzRjuonwOg+ekFv8tA6Dz9Jqzy9ZQnmdhNn823AEWWWfvj++Aa3Nuz3eImwYas/XiVQ99L/UHcIgcxLwQ293GXWWi2B+5LEqiadCa1XmyUh0E8PmA0lLJ89LknkeaHvfBd36pKpKYqlKMr27/pusRaXJ1ZzCv73A6VhlW+V9DaD8OY3xvVHBsQ77qCtCQ4GhNod3+LWDZomdEmT4RLKmNsWZn3UyYYelbRI5p+SZMfUh4oj9tQl6WkcGE186StbeNo/RsdOM1p02+0REUsPBc660zVlCmjJdv75nwKD8jRb2Zh99cShlScqU6Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jacobs-university.de; dmarc=pass action=none header.from=jacobs-university.de; dkim=pass header.d=jacobs-university.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jacobsuniversity.onmicrosoft.com; s=selector2-jacobsuniversity-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9My157o2N5cH63rl9IkbBew/xs8G/TmNnRKdG6jIN9o=; b=S2EKyXAK+o/gR4aJa4R7EkbiqZQx01xh1dAc+K5Vh/9Ul2Havs7HmOJ7qDU6X1w4fW4ucBF4D/pHpn+01M/Ghj/hcgdA0TW1SEOrDvTU5r5c9sBDYVMMt/E7ky0ARPMHxTrfp3FVEyjeRwPfEapxwyxXfnv/6CjprX+T4oCvmsE= Authentication-Results: watsen.net; dkim=none (message not signed) header.d=none;watsen.net; dmarc=none action=none header.from=jacobs-university.de; Received: from AM0P190MB0641.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:194::23) by AM4P190MB0018.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:63::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.23; Wed, 4 Aug 2021 13:39:57 +0000 Received: from AM0P190MB0641.EURP190.PROD.OUTLOOK.COM ([fe80::58c1:599a:1d3d:cdeb]) by AM0P190MB0641.EURP190.PROD.OUTLOOK.COM ([fe80::58c1:599a:1d3d:cdeb%9]) with mapi id 15.20.4373.027; Wed, 4 Aug 2021 13:39:57 +0000 Date: Wed, 4 Aug 2021 15:39:56 +0200 From: =?utf-8?B?SsO8cmdlbiBTY2jDtm53w6RsZGVy?= To: Kent Watsen Cc: Andy Bierman , netmod@ietf.org Message-ID: <20210804133956.p73si5f63t4esmcj@anna.jacobs.jacobs-university.de> Reply-To: Juergen Schoenwaelder Mail-Followup-To: Kent Watsen , Andy Bierman , netmod@ietf.org References: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@email.amazonses.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@email.amazonses.com> X-ClientProxiedBy: PR3P251CA0012.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:b5::27) To AM0P190MB0641.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:194::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost (212.201.44.244) by PR3P251CA0012.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:b5::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15 via Frontend Transport; Wed, 4 Aug 2021 13:39:57 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e2ca436f-09c3-4dc3-2cf0-08d9574d593a X-MS-TrafficTypeDiagnostic: AM4P190MB0018: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CCKpzlLw//S2+lZ/bUzmGDRm/1xVGFa8KpwKkiQZQGb+6hNHs9AloMZp7Pkz6jwDVpVQKScHicXXqmejOnx2AdZ4OFn7331uN/qSy/K0x+zsayHsmM8KDmDKyO+nBJesQCuNZ5qih2q3nN9JbIgvZtkdnOWMsuA/ox76fMqoWXyfwlhtN57EReuDRxrEN8A9UlgEjuPKKoilt0RV6Jr8SpNOWOnyiZZlf+sZppM4dFTXV2okK4Isd6bGuusyrvpU+doyp9tKgtQVxpd3ur3DMTCB1wxozMS52Ix2aQ7Q3ia811ECzClEsNNwabd+KgDoEJ9n5EjhE5Ky/MvVRB/9U2iJwbsD0PMuGHYqSWl5MacdYbv+ecqA6+YEGTgz4PrnoTOsveLC322iXgLMy6C0j0d7tW6PLS57b4LN64MOj0by49TNnfjEP+XXZFJ1Ej39+19EWmWvn9YhaqnIwh/nhINi2yt8SKo08ztWkUBAV72xiGM7TOBIYyfORT81YOEVXzqClJlvliJFZK1kcgteDwCtYFWqGmaoZv4IIuyFD+O1runnCEq7tcKPPjDCGmy7T1BfscTyVWyK036KrEaDHprhmy39ExyqrQg8qrrB9k1IIwoTVGHJkVg0i+J2DB7UcVb9BBREH8Fkjx5Cf9SF/P5RTvV0NHWbhNWkrjwAb96NGh1gbXsD2vw+azQGS6bBs4zH3I1Ri3WEhE5DYi23ycTd/mXwAu2IfnvLdgUkcE/02IS2OuvrxqTHUSFEB+/aSzoKhzTu7npbkkDgjTtl4lrIeWZMc0k8KAJTLrdQl2AQUbKRvR0gnhDYMde3k6JBg3vKLmCgDTz97aMpRsijlg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0P190MB0641.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(39840400004)(136003)(376002)(396003)(346002)(366004)(186003)(8676002)(8936002)(2906002)(83380400001)(38350700002)(38100700002)(85182001)(5660300002)(6486002)(1076003)(26005)(4326008)(66946007)(52116002)(85202003)(6496006)(478600001)(966005)(956004)(316002)(3450700001)(786003)(66556008)(66476007)(6916009)(86362001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dUhXcGNIdTZKZmgxMW9sblJiM2p4VG92VmluNjk5OHhBNzg4M2w5Z2svbjV2?= =?utf-8?B?a2VmSTc0Tk1tdXZCaEZsQXU1U2dmaFV5dFVlMnowT2hkNU5pc3RhbkV2NDI5?= =?utf-8?B?UHlJdjlsUlN6UTlkbGg2L1RVYWU3ampJNW1GQzZQdkhDNzlNYXI4QUd5cmN6?= =?utf-8?B?dlAvVENBa2o4OWFKV1pjbHdQR2lIVVpaSmVKWkV0SHBCMnlhcFdIVFJWeThF?= =?utf-8?B?aHVsTkRSSnROdk5vYjdWQ2tpL3BtT3ozRFhqaHhWMGxEOW9xdWkvZzVGV3R1?= =?utf-8?B?YmdLd0ZGSDUwRG5nRy9yaktPZWplZW9aZzVjclVsTmg1QmVuSkdZcnJ6T3Jo?= =?utf-8?B?ZXFid0NCM2ZUK3kzY05weThUbDV4eDk3blBkcHcvU0FkRlhjL0V6bXZyNTFU?= =?utf-8?B?d2ZJN3N6T3FHRUswTURYRnVxR1ZOS1ZJUmFTV2RCNm5FNjhOc00rWDloRkZM?= =?utf-8?B?Z1dHRVcrL0pYejZuZ1I3dU5TeS93QXRYU0xpTE5SSlowWEo0ZVFXSDROYkpw?= =?utf-8?B?Q1RDZmIvdE40dE9Xd2NiMjdhRmtoUStQZkh6c1hkVndvVFR6ZEFRWmZCdlJx?= =?utf-8?B?MkY4QVJwZnB5SUZlYS82TzJybEczL3hUR0pkUzJjbm9xYUpTSSs0Zklqck9J?= =?utf-8?B?enc2Uk1pc0VhZ0V0aDFOZUZYWGgvWVZPNkJJQU9xZGN4U2paVk8zSU1sVzlC?= =?utf-8?B?OTJHSFJ4ZTBhWG9hbC9OT2RGWENkaFpzMElveDAya3FiVHVRVzVQMzhrdjhU?= =?utf-8?B?RE01a1RjU2E3Z2dReVBjRWJnK1YyZ0dnLzI0TWMva01xYTZkNFRDNzE2YWZp?= =?utf-8?B?TnNQUHVGbzlqeUdBTDlacFRtTTRENkRvU1pWUllOYy9YaTRtNkc1Tm41OHFB?= =?utf-8?B?aW5wSTdyUTZsMHpzQVlNWnYvTVJMclBwSGtRWWVTNjYxY0ZwTjZiM0hYcUgy?= =?utf-8?B?U01QMWZMVTM4bkJFYUg5YXZid1dDRW85T2d5aFpYZ3MzY1JuMGdIQWpDdlhC?= =?utf-8?B?U2htRSs1Z1VOV3l0TlpsS3V5U251Y1l3MkFaQnpmZm9qQm9NcGh5TWVDUWFU?= =?utf-8?B?cTA2ZS9HSHJtM2VwWE8zTjd3bVZRZHRZbm1Yd3M5TTdmSlRsTzNqZTR1aXBJ?= =?utf-8?B?RWIreXF4SERER1d5aWpyRUVzTlJOTy9JdkV2U3JBZlkrYWJJRVludzNGZTM4?= =?utf-8?B?empwSndJVjdnbHhnRkZNVkFwVTNlSTR6bmI3cHpQMHNDR0NYTE1JNG5aTitq?= =?utf-8?B?TlQ4K1hQM0k5Y2JEKzJaaEY5VTRINmRUUkl0dVl0bHlmQ0N5Zjl1Z0IrUU1N?= =?utf-8?B?Yk1vSWR4Ui9POFRzQm84ZkFrUDFybHkzSmdUWmdGU0djUzRhMTBYQk53dTZs?= =?utf-8?B?blVhTnQ0Wjg4ZSswNFBNZG1keFdPY2M2OW5DV1k5R3VhcFBQYWFXb0cxaHFx?= =?utf-8?B?d2p3YkVZL0FDanljWHQrSzBkQmM4dzM3cTYrWFNzbEg3NFFhYmhYdWw5TVZp?= =?utf-8?B?V0tYT3dEQTRWbHJDV0tOcXRCbkVEMy8wTmF5M2lGYmRrdm5ETWV5S21yNXQx?= =?utf-8?B?OVJxVEVRNVFnUkRrTHh2ak5JTk45WWN4cm16aC9ZTG5jRjUzc2RqTU1LdVNT?= =?utf-8?B?ZWd6MkV4VGk0dVdWVzI5b3IxV1J5dU1JZUJUUTdPUGNwUEJSNVo4UGcydmlQ?= =?utf-8?B?NE5yUDZEci9DRVg5TzJpbUk3eTJSdlI4c2RlbVh6aitMSDNhM0ZHS3dENVlD?= =?utf-8?Q?MwltBHVBLAiarsgIBFm/4gZ5pH1gtFf9z67ueYa?= X-OriginatorOrg: jacobs-university.de X-MS-Exchange-CrossTenant-Network-Message-Id: e2ca436f-09c3-4dc3-2cf0-08d9574d593a X-MS-Exchange-CrossTenant-AuthSource: AM0P190MB0641.EURP190.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2021 13:39:57.2212 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f78e973e-5c0b-4ab8-bbd7-9887c95a8ebd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: uI/G3kh4JlhC8JoUIeyeIuGURBif3zKvpv5YD6KYUZ0AQXIlaxXLjXChVf4VMVZCK2ZdB/uHC+PVy3xWxSxTNRDS1WhWFE8Bopdd7tzFG1E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4P190MB0018 Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2021 13:40:06 -0000 The figure in RFC 8342 section 5 documents what was agreed upon before. System configuration flows into but not upwards into . Over the years, we discussed several corner cases (including things like configuring a new user and the system automatically assigns an unused uid, which afterwards needs to be kept stable). While there are for sure tricky corner cases, I am not convinced that the model defined in RFC 8342 for the general cases is wrong and that merging a new system datastore into is the right approach. If people want to change the model documented in RFC 8342, then they should make an explicit statement about this and provide strong reasons that the model is flawed or incomplete. Note that the model does allow having a system client merging config into (ideally controlled by an ACM so that such a client can be turned off if it leads to surprises). /js On Wed, Aug 04, 2021 at 12:34:45PM +0000, Kent Watsen wrote: > > I am confused by the confusion ;) > > You all know that JUNOS implemented this concept before YANG was even a thing, right? > > Admittedly, it’s not a “datastore“, but flexing the NMDA is where we can do better. > > A “with-system” mechanism could also work. The only downside is the inability for a client to get only the system configuration, without the rest of . > > Please stop stating/suggesting “config true” nodes are referencing “config false” nodes, or that config is referencing operational state. There is no intention to break either of these tenants here. > > I think that some folks just joined the conversation and may have missed out when we covered all this before. > > The draft needs to be updated to more clearly identify the goals. > > K. > > > > _______________________________________________ > netmod mailing list > netmod@ietf.org > https://www.ietf.org/mailman/listinfo/netmod -- Juergen Schoenwaelder Jacobs University Bremen gGmbH Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany Fax: +49 421 200 3103 From nobody Wed Aug 4 06:59:18 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 99EB13A1B82 for ; Wed, 4 Aug 2021 06:59:15 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.887 X-Spam-Level: X-Spam-Status: No, score=-1.887 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id E2_zjH5I8Vz1 for ; Wed, 4 Aug 2021 06:59:10 -0700 (PDT) Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com [IPv6:2a00:1450:4864:20::129]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 543863A171E for ; Wed, 4 Aug 2021 06:59:10 -0700 (PDT) Received: by mail-lf1-x129.google.com with SMTP id y34so4581578lfa.8 for ; Wed, 04 Aug 2021 06:59:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=eBvsHjBPCt67BUP/3ViAohO6DUOE2miDFJblK5ZTnfo=; b=XQJyX2kFvpc3Hf0l+52GL8mCDUbggbJdUai6obSTZXWXRWBveynhBaCDoOxeI6LL7p 8CA5H2W20kzacUtUFF5ShKa+t62C6UamVckptBCIlsE7q/wc023ocKQSLztXuFrgVGhS 9JqtCbg00MgqnWDSdEXWGwIdYwS8rSotebFqWWJ8jCQofP6AMzjyvUy0Kc19xnpp/nZf 2InAZ5en9GJec7t7J7qGoTZK6/zDV0lcmTZ9DH90pAEun+yVGnd2S3U6xmN3ReqcO5bR aawip0rUWw3bEcPMzn7CW7+ArU8DZgYH+I97/NGSUsVrYODY6nuGbR5U1LHHR90a4olz dmNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=eBvsHjBPCt67BUP/3ViAohO6DUOE2miDFJblK5ZTnfo=; b=clvSQygXnE9uzfsaEgRbx0iNlzA5lSZo4gmQKvGhns8fUtIFmYV1WLkWiNH8FHzlWA L7XWSeAbIZ7CKqDUkGfpZ7cUetwe7QKumclRA6K1h8ZHZkHX8RGZLN1e6G5FBLcp83gM t8Xn2+haWqK7h08BA0xbe3h6/C6JTY8tcolIi4Nq67FkCZu4oegrUT25NZL20N5WMO+w EfAUWfd301CuF3gCbKhXOFIhXaRiH9bQ5lDB7Dv0dFcSSjhKVgdSyhbZ8xvUrrToxNbc 3D9CKRWI9IceENiChC9QfqJahc7tcGw28ViATprFCN1OyWFPfwA6FZ5nOk4GmYGCVWTt E0cQ== X-Gm-Message-State: AOAM5315n66GtqmnWTlKNqXMmTcKgyOn6DHrdG+HEmN5k87dOctZxzXg lBCPsGoN5mBy+cS8TUXs9GsZFHY15mh8JHzQKP4ZUg== X-Google-Smtp-Source: ABdhPJxmUmp7TbIlNDTYZJZGtim7tQFStkjgEXlcbGhvTYBhxZdsbUoB1sSpxLNrc1yDFus4RWPYIymiomCj7El4Te0= X-Received: by 2002:a05:6512:3253:: with SMTP id c19mr20502815lfr.568.1628085546899; Wed, 04 Aug 2021 06:59:06 -0700 (PDT) MIME-Version: 1.0 References: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@email.amazonses.com> <20210804133956.p73si5f63t4esmcj@anna.jacobs.jacobs-university.de> In-Reply-To: <20210804133956.p73si5f63t4esmcj@anna.jacobs.jacobs-university.de> From: Andy Bierman Date: Wed, 4 Aug 2021 06:58:55 -0700 Message-ID: To: Juergen Schoenwaelder , Kent Watsen , Andy Bierman , NetMod WG Content-Type: multipart/alternative; boundary="000000000000aff43405c8bc34f0" Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2021 13:59:16 -0000 --000000000000aff43405c8bc34f0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Aug 4, 2021 at 6:39 AM J=C3=BCrgen Sch=C3=B6nw=C3=A4lder < j.schoenwaelder@jacobs-university.de> wrote: > The figure in RFC 8342 section 5 documents what was agreed upon > before. System configuration flows into but not upwards > into . Over the years, we discussed several corner cases > (including things like configuring a new user and the system > automatically assigns an unused uid, which afterwards needs to be kept > stable). While there are for sure tricky corner cases, I am not > convinced that the model defined in RFC 8342 for the general cases is > wrong and that merging a new system datastore into is the > right approach. If people want to change the model documented in RFC > 8342, then they should make an explicit statement about this and > provide strong reasons that the model is flawed or incomplete. > > Note that the model does allow having a system client merging config > into (ideally controlled by an ACM so that such a client can > be turned off if it leads to surprises). > This is a solved problem in proprietary ways. It is simple to treat system config as an access control issue. I am quite concerned that NMDA is getting extended in ways that lead to confusion and poor interoperability. Adding a new datastore is very serious. IMO ANY new datastore (even factory default) should be standardized in a new version of NMDA (replacing RFC 8342). A datastore has a lot of baggage - YANG library - YANG XPath evaluation - subtree and XPath filtered retrieval - usage in RPC operations (ds:datastore data type parameter) Every time a datastore is added, all the existing RPC operations that use datastores need to be clarified wrt/ support for the new datastore. (Of course this is never done, leading to lots of interoperability issues) I am quite confused by the XPath discussions because XPath can only access existing nodes (i.e. the "accessible tree") https://datatracker.ietf.org/doc/html/rfc7950#section-6.4.1 So what does it mean for the system datastore to contain possible values that cannot be represented in ? The accessible tree cannot include these values, so XPath-based validation cannot use them. > /js > > Andy > On Wed, Aug 04, 2021 at 12:34:45PM +0000, Kent Watsen wrote: > > > > I am confused by the confusion ;) > > > > You all know that JUNOS implemented this concept before YANG was even a > thing, right? > > > > Admittedly, it=E2=80=99s not a =E2=80=9Cdatastore=E2=80=9C, but flexing= the NMDA is where we can > do better. > > > > A =E2=80=9Cwith-system=E2=80=9D mechanism could also work. The only do= wnside is the > inability for a client to get only the system configuration, without the > rest of . > > > > Please stop stating/suggesting =E2=80=9Cconfig true=E2=80=9D nodes are = referencing > =E2=80=9Cconfig false=E2=80=9D nodes, or that config is referencing oper= ational state. > There is no intention to break either of these tenants here. > > > > I think that some folks just joined the conversation and may have misse= d > out when we covered all this before. > > > > The draft needs to be updated to more clearly identify the goals. > > > > K. > > > > > > > > _______________________________________________ > > netmod mailing list > > netmod@ietf.org > > https://www.ietf.org/mailman/listinfo/netmod > > -- > Juergen Schoenwaelder Jacobs University Bremen gGmbH > Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany > Fax: +49 421 200 3103 > --000000000000aff43405c8bc34f0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Wed, Aug 4, 2021 at 6:39 AM J=C3= =BCrgen Sch=C3=B6nw=C3=A4lder <j.schoenwaelder@jacobs-university.de> wrote:
The figure in RFC 8342 s= ection 5 documents what was agreed upon
before. System configuration flows into <operational> but not upwards=
into <running>. Over the years, we discussed several corner cases
(including things like configuring a new user and the system
automatically assigns an unused uid, which afterwards needs to be kept
stable). While there are for sure tricky corner cases, I am not
convinced that the model defined in RFC 8342 for the general cases is
wrong and that merging a new system datastore into <running> is the right approach. If people want to change the model documented in RFC
8342, then they should make an explicit statement about this and
provide strong reasons that the model is flawed or incomplete.

Note that the model does allow having a system client merging config
into <running> (ideally controlled by an ACM so that such a client ca= n
be turned off if it leads to surprises).


This is a solved problem in proprietary ways.=C2=A0 It is = simple to treat system config
as an access control issue.=C2=A0

I am quite concerned that NMDA is getting extended = in ways that lead to
confusion and poor interoperability.=C2=A0 A= dding a new datastore is very serious.
IMO ANY new datastore (eve= n factory default) should be standardized in
a new version of NMD= A (replacing RFC 8342).

A datastore has a lot of b= aggage
=C2=A0 =C2=A0- YANG library
=C2=A0 =C2=A0- YANG = XPath evaluation
=C2=A0 =C2=A0- subtree and XPath filtered retrie= val
=C2=A0 =C2=A0- usage in RPC operations (ds:datastore data typ= e parameter)

Every time a datastore is added, all = the existing RPC operations that use
datastores need to be clarif= ied wrt/ support for the new datastore.
(Of course this is never = done, leading to lots of interoperability issues)

= I am quite confused by the XPath discussions because XPath can only
access existing nodes (i.e. the "accessible tree")
<= a href=3D"https://datatracker.ietf.org/doc/html/rfc7950#section-6.4.1">http= s://datatracker.ietf.org/doc/html/rfc7950#section-6.4.1
=C2= =A0
So what does it mean for the system datastore to contain poss= ible values that
cannot be represented in <operational>? Th= e accessible tree cannot include
these values, so XPath-based val= idation cannot use them.



/js



Andy

=C2=A0
On Wed, Aug 04, 2021 at 12:34:45PM +0000, Kent Watsen wrote:
>
> I am confused by the confusion=C2=A0 ;)
>
> You all know that JUNOS implemented this concept before YANG was even = a thing, right?=C2=A0
>
> Admittedly, it=E2=80=99s not a =E2=80=9Cdatastore=E2=80=9C, but flexin= g the NMDA is where we can do better.
>
> A =E2=80=9Cwith-system=E2=80=9D mechanism could also work.=C2=A0 The o= nly downside is the inability for a client to get only the system configura= tion, without the rest of <running>.=C2=A0 =C2=A0
>
> Please stop stating/suggesting =E2=80=9Cconfig true=E2=80=9D nodes are= referencing =E2=80=9Cconfig false=E2=80=9D nodes,=C2=A0 or that config is = referencing operational state.=C2=A0 There is no intention to break either = of these tenants here.=C2=A0
>
> I think that some folks just joined the conversation and may have miss= ed out when we covered all this before.=C2=A0
>
> The draft needs to be updated to more clearly identify the goals.
>
> K.
>
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
>
https://www.ietf.org/mailman/listinfo/netmod
--
Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs Univer= sity Bremen gGmbH
Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1 | 28= 759 Bremen | Germany
Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<https://www.jacobs-university.de/>
--000000000000aff43405c8bc34f0-- From nobody Wed Aug 4 10:17:34 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 810203A0C4F; Wed, 4 Aug 2021 10:17:21 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.09 X-Spam-Level: X-Spam-Status: No, score=-2.09 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=futurewei.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ytBSqY1TEpkt; Wed, 4 Aug 2021 10:17:16 -0700 (PDT) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2096.outbound.protection.outlook.com [40.107.220.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 30DA93A0C4E; Wed, 4 Aug 2021 10:17:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a3/AuJE3GUdEmbbRYAnurB8FfJVt7avB4Cvc6lK7tl9I9l3sJoGKL1KRbVHyx2FoguhNNMZfQsKjeekMjSzkNz0vC6DUAeMkw6X/GNae2MoTGBQK9RggQSoZxXYdLzEjCtKyiDKxF7s6k3Yi7IMDePxvxZ444wPu4/AhCHD0KnDoM8U+3c5Lw367zk8EbSxfrzogDRxCd/SjkwLZ7nrKm5f3tBBN6OTVykVncChCFZO6Z603xFNugAnn7C72NrnBZ1hBzD8Z5FxUlZTPyosg+up4BNELz5fWjokgn1JWgdNk2fjfVRxKKAmHyXaq2y37RXiRweqj77fj92I6Cerc+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zYX47yXUBfSt6NkbDT6mbGIl9l2MzZ0qVh82GHO8Gqs=; b=jM98zkyNluAhtAH0lNgwsMjzaLWzgzG9D3/tdHH2OuA4asdCLpQF7bo+Ei6WXxvMaNZoTBvHWdCaKcPH6ksWbAOsOqJqSY1AXbK4tDMEwIcaI8BVsu9pSNLXFlVtryMMH0+XVNt0D5ao39Kj4yOl81PZpXi0dHyP1QiP207OX6vdzTBrHFfu70Fi8Q8O2SdlhSkV2klj6ZhT6XLEiDNVaYhEPZkRcOVBcCq5NP5ltOeSMZBbra3BElFWd6aQOfWRLevEPnGdLQT7NENy4h0N28agsavq3ZYrYx1OW/jl3fwSQ706dMmLcwF+7xAuyr5yc+/oIGvsjVjjctxiAwkCoA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=futurewei.com; dmarc=pass action=none header.from=futurewei.com; dkim=pass header.d=futurewei.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Futurewei.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zYX47yXUBfSt6NkbDT6mbGIl9l2MzZ0qVh82GHO8Gqs=; b=LhVgOLIOOq7vPpwJQh0uxVrQ5a6IP/+lE4Tj+sGuyjfNKToFibX2GZq19zfeZbJzATjc4N6np2wPJmJsRXf8NY5chUBsRKgMdD3GnsXEH1mVQ0TXMmX4tKc8fSuF/zKuSc41a1dNJ0MxHvqjxR8EN3pnjE3ECP6DQmscZOnOOyM= Received: from BY5PR13MB3793.namprd13.prod.outlook.com (2603:10b6:a03:226::15) by BYAPR13MB2614.namprd13.prod.outlook.com (2603:10b6:a03:b4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.4; Wed, 4 Aug 2021 17:17:14 +0000 Received: from BY5PR13MB3793.namprd13.prod.outlook.com ([fe80::fd77:79b3:2b36:f13d]) by BY5PR13MB3793.namprd13.prod.outlook.com ([fe80::fd77:79b3:2b36:f13d%7]) with mapi id 15.20.4394.016; Wed, 4 Aug 2021 17:17:14 +0000 From: Alexander Clemm To: =?iso-8859-2?Q?Michal_Va=B9ko?= CC: Mahesh Jethanandani , Netconf , netmod Thread-Topic: [netconf] [netmod] ietf-subscribed-notifications RPC modify-subscription Thread-Index: AQHXiPhOA+l8symYmkKNiB/5WkMK9qtjkvMw Date: Wed, 4 Aug 2021 17:17:14 +0000 Message-ID: References: <4f62-610a3100-27-572d3100@123539460> In-Reply-To: <4f62-610a3100-27-572d3100@123539460> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: cesnet.cz; dkim=none (message not signed) header.d=none;cesnet.cz; dmarc=none action=none header.from=futurewei.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d0bdefaa-07aa-4b30-6c64-08d9576bb417 x-ms-traffictypediagnostic: BYAPR13MB2614: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 17l7KLXP4LEEyNHyoZrhl50flabfpMJdJmr1UTeZb/ttmvinKW2vbdmFmhmDMwHoFp+gxCcxa6W/IpxjR6jtR2AQ7SyL5bQCgqzz6ue9z/y8kYkJWufv2LuhVffhqTpfnrxUsj1QVUxF4cyEMoLZEWLFfmIisX40yQE+R110D7gNv1l3jBG4Emi/MMeL8PkFXEVZ8nHk8mY5MQBWVEhZi9ux/7P7Q4o9WLscerHjRBT7Wio+PpTMI1lbp7u4BvnmcpAK7Mc+N1oinb0iRsXOJYcK5gxgD51qe8Ss7IJVn4Ogf7Ew+uyFQk8z3RCVMw04Q1pLYrGsHpr19iUHihulFWq7NKpI1tP4MGGcJjNljnYCElrqA6Xwdz5bZ0ovPqhb710wvYAYfpY5592RrLfeA+hHSkshobAi8d/jcIAF/V6fEt74X2e8tUGYN4nCPciu/94Pr9SiFU6iodW9Epmv5BmuA4RGzWuXbVVVb+OiIBkhyvGTLlXnC9JYCZY1vVITWNgroQQOH+cptVYzYLzq88pHNDW6ob46sF+9KpX2AdIbofG/4OzZhjx7Pja/WZuVeodWKJg+nRx7bFM0iHgtRifnGo3mQ8GAOpeRdYckYvvKVwwfj27JZwlmWuVGy2H1/AMXiLxYFqHD3cUV5S8hINRQaxOyu8srYLo8NLE1iQsyIOMukqrYatfQNi7o40EtHaRLY7NDT6YT4XDrJnse17ls6XKzcJ/MpGSgHa5bmgyaL6NZ7HmkAAld4trpPqm2KqIsdJFTc6r52pWKie2dzq41+bPF2cj50Dlu4EwfWqC3PRNY9jChntN31Mgk5kb5xkex8V70SDFjyYN6ogNPwA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR13MB3793.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(366004)(346002)(39840400004)(396003)(136003)(66446008)(26005)(71200400001)(5660300002)(186003)(83380400001)(122000001)(55016002)(478600001)(38100700002)(9686003)(2906002)(966005)(15650500001)(45080400002)(66574015)(6916009)(76116006)(33656002)(7696005)(66946007)(316002)(66556008)(8936002)(53546011)(86362001)(66476007)(8676002)(52536014)(38070700005)(6506007)(54906003)(64756008)(15974865002)(4326008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-2?Q?E2oMHOwaW8rUR5TUTavtgCgatP+bW4hMU9QW6VfF6RlK+DANVHkrru0us4?= =?iso-8859-2?Q?xd60qMCTZ3sFHc6xCtnc0kfEueo0XL4NZYVCdtq3e/tST3kgj640bTkjaE?= =?iso-8859-2?Q?DKrVp4qvOEArzGSlU3p5N4usYkJ3Jd/JSlLM9LGls7OTgoFdsNHYu9bTaf?= =?iso-8859-2?Q?9eXTvtQLwRjQol5u0L6Jt/SR0NfJxncTvpCOKWmS0i7iQ766egB0AB3iH2?= =?iso-8859-2?Q?8AH7GZWkTwLm8/qVpO4dJ4hEjyHcHGQ9B+XJvk3cLD1jrkifvU1/7NeEj9?= =?iso-8859-2?Q?rJigNsgiKd2DqzTgwmRih0UlHE5IKD5qtQr21iGHMK+2AOuFUYie4UrO9I?= =?iso-8859-2?Q?T09GUlRzvNE8AD+ifV9PfN1XQOSmIY1aHFtKRpHfxQH99RXC9PjOqf8658?= =?iso-8859-2?Q?TlFELv7bAGuaA1bfqDEmV22nfNbYWG6tAMcTMOA35XHkd7zaM+4rKXZDqA?= =?iso-8859-2?Q?wqoXuYOx3WsRUNso0itjXCB4+slRbF1D37J7txT7ADzvxZuMWzZejplxF7?= =?iso-8859-2?Q?h4/SZCza2JnRNt36tBleYQxvciV7ACM0KAgDFCl+JeAdsaX+8YfxdqhZjy?= =?iso-8859-2?Q?eUiJh1hVbo4dbzWkxJxReNIOdUISnDyyrWVHjr5V7HxwBN2gpMtiCsPlQH?= =?iso-8859-2?Q?Rh3o1vurHiqbszAvw0ay+t2acSLp0gJxEoETAmJjEFbBw+ytvCuPTfK18q?= =?iso-8859-2?Q?MC7RMqNOYihhMQ1fzwxjVJU4O5uZU0kUae6GGZ8vCClKqfFAzbgAxgHAKV?= =?iso-8859-2?Q?Dxde3kCccg5PeOkq/kUcSLqpzXqZzpRUr6C/XPFlJ5j4h3Hj36gRmRM996?= =?iso-8859-2?Q?ue0ZLmbRfAEfC5H6+kfqbmGbVX/edW2rYhM8dKpTZxt1QJBPmPzV1oGjf9?= =?iso-8859-2?Q?XIveYwoedn8lI4hLklu8i6urKj1y62wMfwZO6ErVAR5LX9akLjXMxyptBU?= =?iso-8859-2?Q?3gH4skPwcQh06RC+VE5lhSYQwwUqMarzrHqJe68CKTolQEtORMTMj4fuO8?= =?iso-8859-2?Q?v2hgpmIr3rqX30NYup2rHZ/ir7h1Mx6+2fRtZ+1ChExoUSwd2e3jq3EkN6?= =?iso-8859-2?Q?jzsTyi4rxUltn1j2iBV9ChNsvLXSZ0BWxPEXacrAP+NGoGm695f7ZBjqlF?= =?iso-8859-2?Q?1w82uZu+CfkxW182p2SnbM+WmPKjMVD6DOVZAsbXlvGv71bHs64bggshBc?= =?iso-8859-2?Q?rvsqTSdK3CGTHXxsJIyrJQaVCeSpr0k7uUpQcaoSDpN4fsA0+L8D5l39Vb?= =?iso-8859-2?Q?qwgopjrSm7heXvouQ+9DclT7niaedIIvClRWWHoUFUElFFTo+Fpm7/3yBn?= =?iso-8859-2?Q?YBc1AUhcgbQcPU0Hvyp/0OzEyXTVJzTF8QTHNxdw3JoZyPYDT/bZ8Q94/a?= =?iso-8859-2?Q?a78yrjEWzD?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Futurewei.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR13MB3793.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d0bdefaa-07aa-4b30-6c64-08d9576bb417 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2021 17:17:14.2006 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0fee8ff2-a3b2-4018-9c75-3a1d5591fedc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +mSgiQ1KCDR+4JSjr5iKajPKvqOEDxKm6ovQotHB7YbdnQWIaE2GpAYbIXZoIXOCc9D4+UKr85v57jIN1vDFHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR13MB2614 Archived-At: Subject: Re: [netmod] [netconf] ietf-subscribed-notifications RPC modify-subscription X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2021 17:17:22 -0000 Hi Michal, I think in part there is a YANG question here - can you define a mandatory = choice, for which you have multiple cases, each of which (or even, just one= of which) contains only nodes that are optional - which allows for the sce= nario that despite a mandatory choice, there are no data nodes from that ch= oice included. I think the answer here is yes.=20 As for the use of this in modify-subscription, one question is why you woul= d invoke this in the first place if you didn't want to modify something - s= o generally you would include a data node anyway. One possibility to do th= is without changing the filter would be if you wanted to simply change the = stop time, which is outside the target choice. Now, could we have made a d= ifferent design choice to make the target choice optional? Possibly, but in= the end I don't think it matters as at the end of the day you can make the= same modifications. (Or is there something that you think this does not a= llow you to do, which it should be able to?) So, I do not think this const= itutes an error in the module, but a design choice that IMHO at this point = should simply be accepted. =20 Kind regards -- Alex -----Original Message----- From: Michal Va=B9ko =20 Sent: Tuesday, August 3, 2021 11:17 PM To: Alexander Clemm Cc: Mahesh Jethanandani ; Netconf ; netmod Subject: Re: [netconf] [netmod] ietf-subscribed-notifications RPC modify-su= bscription Hi Alex, thanks for the reply and I see that I should have included more details. I = understand the design (but it was confusing at first) in general because we= have implemented YANG Push as well. However, I do not think > you have a mandatory choice, but can select a case whose nodes are=20 > optional applies. YANG 1.1 clearly defines [1] that some data nodes must exist in a = mandatory choice. In this case it can be "stream-filter-name", "stream-subt= ree-filter", or "stream-xpath-filter" (clearly seen from the tree snippet y= ou referenced) but I think it should be allowed to not include any of these= . Please, provide a valid example of "modify-subscription" invocation that = uses no filter, I could not come up with any. In my opinion, there should be a refine on the "subscription-policy-modifia= ble" grouping in this case and change the mandatory to "false". Provided th= at it should not be allowed to change the stream of a subscription, which I= guess it should not. Regards, Michal [1] https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fdat= atracker.ietf.org%2Fdoc%2Fhtml%2Frfc7950%23section-7.9.4&data=3D04%7C01= %7Calex%40futurewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0fee8ff2a3b240= 189c753a1d5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%7CTWFpbGZsb3d8eyJ= WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&= sdata=3DJNWOC8ym9j%2FNJ90oSRNyHCMSdEv%2FoLDru%2FRnsUozFGo%3D&reserved= =3D0 > I am just rereading this (sorry, it's been a while since we wrote this). >=20 > When you look at the modify-subscription RPC, the "case stream" itself=20 > is optional, even if the choice "target" is mandatory. So, it is in=20 > fact optional to include, no need to specify a null filter. (However,=20 > when present, then parameters of the individual choices need to be=20 > present as well.) In effect, you have a mandatory choice, but can=20 > select a case whose nodes are optional. This is depicted in the Tree=20 > Diagram here: RFC 8639: Subscription to YANG Notifications=20 > (rfc-editor.org) ttps%3A%2F%2Fwww.rfc-editor.org%2Frfc%2Frfc8639%23page-16&data=3D04% > 7C01%7Calex%40futurewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0fee8 > ff2a3b240189c753a1d5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%7CT > WFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI > 6Mn0%3D%7C1000&sdata=3DSVPLR4GRtZC6U%2FaJu5c0Yf9jhRjHocOhtRp7Mtzt6tM > %3D&reserved=3D0> >=20 > What may also be confusing at first is the fact that the choice "target" = itself has "stream" as the single case (in RFC 8639). So, why put a choice= there in the first place? The reason why it is there is so that it can be = augmented, and RFC 8641 specifies a second case, namely "datastore". > --- Alex >=20 > From: netmod On Behalf Of Alexander Clemm > Sent: Tuesday, August 3, 2021 11:21 AM > To: Mahesh Jethanandani ; Netconf=20 > > Cc: netmod > Subject: Re: [netmod] ietf-subscribed-notifications RPC=20 > modify-subscription >=20 > Hi, > When you modify the subscription, you need to specify the subscription pa= rameters that you want to modify the subscription to - i.e. the subscripti= on parameters that you want to be in effect after modifying the subscriptio= n. If you want nothing to be filtered, just specify a "null" filter. > --- Alex >=20 > From: netmod >=20 > On Behalf Of Mahesh Jethanandani > Sent: Tuesday, August 3, 2021 10:14 AM > To: Netconf > > Cc: netmod > > Subject: Re: [netmod] ietf-subscribed-notifications RPC=20 > modify-subscription >=20 > [Cross posting to netconf] >=20 > On Aug 3, 2021, at 6:01 AM, Michal Va=B9ko > wrote: >=20 > Hi, >=20 > it seems the "modify-subscription" RPC [1] includes a mandatory choice "t= arget" [2]. In effect, it is not possible to modify a subscription for it t= o be without a filter. I do not understand the reason for this, is it inten= tional or an error in the module? >=20 > Regards, > Michal >=20 > [1]=20 > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fwww. > rfc-editor.org%2Frfc%2Frfc8639%23page-53&data=3D04%7C01%7Calex%40fut > urewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0fee8ff2a3b240189c753a > 1d5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%7CTWFpbGZsb3d8eyJWIj > oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&am > p;sdata=3DAf%2FoGGiRESrrd4PzdNp5PvII4%2BQ54rwToLe1%2FrvJH%2BE%3D&res > erved=3D0 F%2Fwww.rfc-editor.org%2Frfc%2Frfc8639%23page-53&data=3D04%7C01%7Cal > ex%40futurewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0fee8ff2a3b240 > 189c753a1d5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%7CTWFpbGZsb3 > d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7 > C1000&sdata=3DAf%2FoGGiRESrrd4PzdNp5PvII4%2BQ54rwToLe1%2FrvJH%2BE%3D > &reserved=3D0> [2]=20 > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fwww. > rfc-editor.org%2Frfc%2Frfc8639%23page-48&data=3D04%7C01%7Calex%40fut > urewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0fee8ff2a3b240189c753a > 1d5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%7CTWFpbGZsb3d8eyJWIj > oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&am > p;sdata=3DpsIuBfJ%2BIoKGcky%2F8LJZmK1MtKhaUPynUtO1Y7vODdk%3D&reserve > d=3D0 www.rfc-editor.org%2Frfc%2Frfc8639%23page-48&data=3D04%7C01%7Calex%4 > 0futurewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0fee8ff2a3b240189c > 753a1d5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%7CTWFpbGZsb3d8ey > JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C100 > 0&sdata=3DpsIuBfJ%2BIoKGcky%2F8LJZmK1MtKhaUPynUtO1Y7vODdk%3D&res > erved=3D0> >=20 > _______________________________________________ > netmod mailing list > netmod@ietf.org > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fwww. > ietf.org%2Fmailman%2Flistinfo%2Fnetmod&data=3D04%7C01%7Calex%40futur > ewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0fee8ff2a3b240189c753a1d > 5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000& > sdata=3D5ywkEvUGzZK9Bn6woKv3HqATU1eYsTYGYHW%2FEnl9FxY%3D&reserved=3D0= < > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fwww. > ietf.org%2Fmailman%2Flistinfo%2Fnetmod&data=3D04%7C01%7Calex%40futur > ewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0fee8ff2a3b240189c753a1d > 5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000& > sdata=3D5ywkEvUGzZK9Bn6woKv3HqATU1eYsTYGYHW%2FEnl9FxY%3D&reserved=3D0= > >=20 > Mahesh Jethanandani > mjethanandani@gmail.com >=20 >=20 >=20 > From nobody Thu Aug 5 01:11:32 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 595803A15D7; Thu, 5 Aug 2021 01:11:13 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.099 X-Spam-Level: X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cesnet.cz Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id c-vWT8z0snYi; Thu, 5 Aug 2021 01:11:08 -0700 (PDT) Received: from kalendar.cesnet.cz (kalendar.cesnet.cz [IPv6:2001:718:1:1f:50:56ff:feee:34]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0E5373A15E6; Thu, 5 Aug 2021 01:11:07 -0700 (PDT) Received: by kalendar.cesnet.cz (Postfix, from userid 110) id B4C8260095; Thu, 5 Aug 2021 10:11:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cesnet.cz; s=kalendar; t=1628151062; bh=0Qhhrz2jP1UQSmaZiAgKJbKS3bAZmn0spacJha0Pqm0=; h=From:In-Reply-To:Date:Cc:To:Subject; b=iXj6QdMewRb+fhSGlFzD7ExKo/XVECaZRt1bCPNiuUW25aFI1Dlg7/zOEZ/CUvJmt VnZx/0eVm1oQT4wjZKCMsYCtvjyZn8xN/y8kidYG14uyczw8q0yGHPoJLJzX981vsM npMK4dfcV/zRI3eImoidpiVFipgiaMR/xi5TN+UA= From: =?utf-8?q?Michal_Va=C5=A1ko?= In-Reply-To: Content-Type: text/plain; charset="utf-8" X-Forward: 2001:67c:1220:80c:b5:55d3:81d5:8636 Date: Thu, 05 Aug 2021 10:11:02 +0200 Cc: "Mahesh Jethanandani" , "Netconf" , "netmod" To: "Alexander Clemm" MIME-Version: 1.0 Message-ID: <79a4-610b9d00-5f-54377380@80566603> User-Agent: SOGoMail 5.1.0 Content-Transfer-Encoding: quoted-printable Archived-At: Subject: Re: [netmod] =?utf-8?q?=5Bnetconf=5D__ietf-subscribed-notifications_?= =?utf-8?q?RPC_modify-subscription?= X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2021 08:11:22 -0000 Hi Alex, > I think in part there is a YANG question here - can you define a mand= atory choice, for which you have multiple cases, each of which (or even= , just one of which) contains only nodes that are optional - which allo= ws for the scenario that despite a mandatory choice, there are no data = nodes from that choice included. I think the answer here is yes. Per the reference to the YANG 1.1 specification I have included in my l= ast email I am quite certain the answer is no, you cannot have a mandat= ory choice without any data nodes. That is exactly what is written in t= he RFC: If "mandatory" is "true", at least one node from exactly one of the choice's case branches MUST exist. > As for the use of this in modify-subscription, one question is why yo= u would invoke this in the first place if you didn't want to modify som= ething - so generally you would include a data node anyway. One possib= ility to do this without changing the filter would be if you wanted to = simply change the stop time, which is outside the target choice. Yes, that is exactly the use-case. Are you saying changing the stop-tim= e of a subscription without a filter is not supported? > Now, could we have made a different design choice to make the target= choice optional? Possibly, but in the end I don't think it matters as = at the end of the day you can make the same modifications. (Or is ther= e something that you think this does not allow you to do, which it shou= ld be able to?) See my previous comment. > So, I do not think this constitutes an error in the module, but a des= ign choice that IMHO at this point should simply be accepted. Not sure why I am the first to bring this up, but I do think the design= includes an error or is simply based on wrong YANG-related assumptions= . Regards, Michal > > Kind regards > -- Alex > > -----Original Message----- > From: Michal Va=C5=A1ko > Sent: Tuesday, August 3, 2021 11:17 PM > To: Alexander Clemm > Cc: Mahesh Jethanandani ; Netconf ; netmod > Subject: Re: [netconf] [netmod] ietf-subscribed-notifications RPC mod= ify-subscription > > Hi Alex, > > thanks for the reply and I see that I should have included more detai= ls. I understand the design (but it was confusing at first) in general = because we have implemented YANG Push as well. However, I do not think > > > you have a mandatory choice, but can select a case whose nodes are = > > optional > > applies. YANG 1.1 clearly defines [1] that some data nodes must exist= in a mandatory choice. In this case it can be "stream-filter-name", "s= tream-subtree-filter", or "stream-xpath-filter" (clearly seen from the = tree snippet you referenced) but I think it should be allowed to not in= clude any of these. Please, provide a valid example of "modify-subscrip= tion" invocation that uses no filter, I could not come up with any. > > In my opinion, there should be a refine on the "subscription-policy-m= odifiable" grouping in this case and change the mandatory to "false". P= rovided that it should not be allowed to change the stream of a subscri= ption, which I guess it should not. > > Regards, > Michal > > [1] https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F= %2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Frfc7950%23section-7.9.4&data= =3D04%7C01%7Calex%40futurewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C= 0fee8ff2a3b240189c753a1d5591fedc%7C1%7C0%7C637636546076357311%7CUnknown= %7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJX= VCI6Mn0%3D%7C1000&sdata=3DJNWOC8ym9j%2FNJ90oSRNyHCMSdEv%2FoLDru%2FR= nsUozFGo%3D&reserved=3D0 > > > I am just rereading this (sorry, it's been a while since we wrote t= his). > > > > When you look at the modify-subscription RPC, the "case stream" its= elf > > is optional, even if the choice "target" is mandatory. So, it is i= n > > fact optional to include, no need to specify a null filter. (Howev= er, > > when present, then parameters of the individual choices need to be = > > present as well.) In effect, you have a mandatory choice, but can = > > select a case whose nodes are optional. This is depicted in the Tr= ee > > Diagram here: RFC 8639: Subscription to YANG Notifications > > (rfc-editor.org) > ttps%3A%2F%2Fwww.rfc-editor.org%2Frfc%2Frfc8639%23page-16&data=3D= 04% > > 7C01%7Calex%40futurewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0f= ee8 > > ff2a3b240189c753a1d5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%= 7CT > > WFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJX= VCI > > 6Mn0%3D%7C1000&sdata=3DSVPLR4GRtZC6U%2FaJu5c0Yf9jhRjHocOhtRp7Mt= zt6tM > > %3D&reserved=3D0> > > > > What may also be confusing at first is the fact that the choice "ta= rget" itself has "stream" as the single case (in RFC 8639). So, why pu= t a choice there in the first place? The reason why it is there is so t= hat it can be augmented, and RFC 8641 specifies a second case, namely "= datastore". > > --- Alex > > > > From: netmod On Behalf Of Alexander Clemm= > > Sent: Tuesday, August 3, 2021 11:21 AM > > To: Mahesh Jethanandani ; Netconf > > > > Cc: netmod > > Subject: Re: [netmod] ietf-subscribed-notifications RPC > > modify-subscription > > > > Hi, > > When you modify the subscription, you need to specify the subscript= ion parameters that you want to modify the subscription to - i.e. the = subscription parameters that you want to be in effect after modifying t= he subscription. If you want nothing to be filtered, just specify a "nu= ll" filter. > > --- Alex > > > > From: netmod > > > On Behalf Of Mahesh Jethanandani > > Sent: Tuesday, August 3, 2021 10:14 AM > > To: Netconf > > > Cc: netmod > > > Subject: Re: [netmod] ietf-subscribed-notifications RPC > > modify-subscription > > > > [Cross posting to netconf] > > > > On Aug 3, 2021, at 6:01 AM, Michal Va=C5=A1ko > wrote: > > > > Hi, > > > > it seems the "modify-subscription" RPC [1] includes a mandatory cho= ice "target" [2]. In effect, it is not possible to modify a subscriptio= n for it to be without a filter. I do not understand the reason for thi= s, is it intentional or an error in the module? > > > > Regards, > > Michal > > > > [1] > > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2= Fwww. > > rfc-editor.org%2Frfc%2Frfc8639%23page-53&data=3D04%7C01%7Calex%= 40fut > > urewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0fee8ff2a3b240189c7= 53a > > 1d5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%7CTWFpbGZsb3d8eyJ= WIj > > oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000= &am > > p;sdata=3DAf%2FoGGiRESrrd4PzdNp5PvII4%2BQ54rwToLe1%2FrvJH%2BE%3D&am= p;res > > erved=3D0 > F%2Fwww.rfc-editor.org%2Frfc%2Frfc8639%23page-53&data=3D04%7C01= %7Cal > > ex%40futurewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0fee8ff2a3b= 240 > > 189c753a1d5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%7CTWFpbGZ= sb3 > > d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3= D%7 > > C1000&sdata=3DAf%2FoGGiRESrrd4PzdNp5PvII4%2BQ54rwToLe1%2FrvJH%2= BE%3D > > &reserved=3D0> [2] > > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2= Fwww. > > rfc-editor.org%2Frfc%2Frfc8639%23page-48&data=3D04%7C01%7Calex%= 40fut > > urewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0fee8ff2a3b240189c7= 53a > > 1d5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%7CTWFpbGZsb3d8eyJ= WIj > > oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000= &am > > p;sdata=3DpsIuBfJ%2BIoKGcky%2F8LJZmK1MtKhaUPynUtO1Y7vODdk%3D&re= serve > > d=3D0 > www.rfc-editor.org%2Frfc%2Frfc8639%23page-48&data=3D04%7C01%7Ca= lex%4 > > 0futurewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0fee8ff2a3b2401= 89c > > 753a1d5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%7CTWFpbGZsb3d= 8ey > > JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C= 100 > > 0&sdata=3DpsIuBfJ%2BIoKGcky%2F8LJZmK1MtKhaUPynUtO1Y7vODdk%3D&am= p;res > > erved=3D0> > > > > =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= > > netmod mailing list > > netmod@ietf.org > > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2= Fwww. > > ietf.org%2Fmailman%2Flistinfo%2Fnetmod&data=3D04%7C01%7Calex%40= futur > > ewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0fee8ff2a3b240189c753= a1d > > 5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%7CTWFpbGZsb3d8eyJWI= joi > > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&a= mp; > > sdata=3D5ywkEvUGzZK9Bn6woKv3HqATU1eYsTYGYHW%2FEnl9FxY%3D&reserv= ed=3D0< > > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2= Fwww. > > ietf.org%2Fmailman%2Flistinfo%2Fnetmod&data=3D04%7C01%7Calex%40= futur > > ewei.com%7Cbe2fa9745ccb473b902108d9570f6ea0%7C0fee8ff2a3b240189c753= a1d > > 5591fedc%7C1%7C0%7C637636546076357311%7CUnknown%7CTWFpbGZsb3d8eyJWI= joi > > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&a= mp; > > sdata=3D5ywkEvUGzZK9Bn6woKv3HqATU1eYsTYGYHW%2FEnl9FxY%3D&reserv= ed=3D0> > > > > Mahesh Jethanandani > > mjethanandani@gmail.com > > > > > > > > From nobody Thu Aug 5 09:41:58 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3CD0C3A18DC; Thu, 5 Aug 2021 09:41:56 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.899 X-Spam-Level: X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FUMbQwWJjMpV; Thu, 5 Aug 2021 09:41:51 -0700 (PDT) Received: from tuna.sandelman.ca (tuna.sandelman.ca [209.87.249.19]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F3C0A3A18FD; Thu, 5 Aug 2021 09:41:50 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id 7DDA9389B3; Thu, 5 Aug 2021 12:46:09 -0400 (EDT) Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 7C5cU5M0rZig; Thu, 5 Aug 2021 12:46:06 -0400 (EDT) Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id 51004389AB; Thu, 5 Aug 2021 12:46:06 -0400 (EDT) Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id A945C963; Thu, 5 Aug 2021 12:41:46 -0400 (EDT) From: Michael Richardson To: netmod@ietf.org cc: anima@ietf.org X-Attribution: mcr X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 26.1 X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m Archived-At: Subject: [netmod] IANA managed YANG modules X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2021 16:41:57 -0000 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable In revising RFC8366, I am using RFC7224 as a model. In order to explain this model to others, I find myself coming up short in documentation for process. I found nothing in RFC6020. I found: https://www.rfc-editor.org/rfc/rfc6087.html#section-3.5 suggestive, but not specific about creating an IANA managed YANG module. Can someone point me at some specific text/explanation? Maybe there is a PHB version? Maybe just an email from the dawn of YANG-ti= me. =2D- Michael Richardson . o O ( IPv6 I=C3=B8T consulti= ng ) Sandelman Software Works Inc, Ottawa and Worldwide --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEbsyLEzg/qUTA43uogItw+93Q3WUFAmEMFMoACgkQgItw+93Q 3WV8Qwf/ewLjVl992YwuDU3Gk7mi+vK22Pfplq7a/7RIVkeILD8PBPDYQHDnRTqO RnJXGPUcFOI3rSW5fmH/LWXH5IuQgljUseFOOqLZyS7bUz2yGBQQq9jX5eb+19DL yKb/jJZc+04DDszuIsuCZiUqTy6Nd2OlbmE5UpPkYqOTEmQDPbvi/VKwudAona8I RDKpV3f9F2O9n+zRHICWOLLkaJ/df1GDdjmGdZ+jL9eK7Ox5qF7kO4rTpV+vSK8/ Yh5LoCCl5ktwPlAJ9R4E2UJ3B2dfyhWIUeEdn7UMXjuhn8pMZKYIIIL0dKKthTZw iu5pJ+dIRf/IDOf9VU01a1nvzYfaPg== =MZ5g -----END PGP SIGNATURE----- --=-=-=-- From nobody Thu Aug 5 23:27:39 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4080F3A2015; Thu, 5 Aug 2021 23:27:33 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7Y0Dsgk6QVZb; Thu, 5 Aug 2021 23:27:28 -0700 (PDT) Received: from mail.nic.cz (mail.nic.cz [217.31.204.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 76F823A2011; Thu, 5 Aug 2021 23:27:26 -0700 (PDT) Received: from localhost (unknown [IPv6:2a01:5e0:29:ffff:fc73:fa64:57e6:2115]) by mail.nic.cz (Postfix) with ESMTPSA id 8EE9B142708; Fri, 6 Aug 2021 08:27:22 +0200 (CEST) From: Ladislav Lhotka To: Michael Richardson , netmod@ietf.org Cc: anima@ietf.org In-Reply-To: <14573.1628181706@localhost> References: <14573.1628181706@localhost> Mail-Followup-To: Michael Richardson , netmod@ietf.org, anima@ietf.org Date: Fri, 06 Aug 2021 08:27:22 +0200 Message-ID: <87bl6bxf3p.fsf@nic.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Virus-Scanned: clamav-milter 0.102.2 at mail X-Virus-Status: Clean Archived-At: Subject: Re: [netmod] IANA managed YANG modules X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2021 06:27:34 -0000 Michael Richardson writes: > In revising RFC8366, I am using RFC7224 as a model. > In order to explain this model to others, I find myself coming up short in > documentation for process. > I found nothing in RFC6020. Exactly what information are you missing? Lada > > I found: > https://www.rfc-editor.org/rfc/rfc6087.html#section-3.5 > > suggestive, but not specific about creating an IANA managed YANG module. > > Can someone point me at some specific text/explanation? > Maybe there is a PHB version? Maybe just an email from the dawn of YANG-= time. > > -- > Michael Richardson . o O ( IPv6 I=C3=B8T consul= ting ) > Sandelman Software Works Inc, Ottawa and Worldwide > > > > > _______________________________________________ > netmod mailing list > netmod@ietf.org > https://www.ietf.org/mailman/listinfo/netmod --=20 Ladislav Lhotka Head, CZ.NIC Labs PGP Key ID: 0xB8F92B08A9F76C67 From nobody Fri Aug 6 02:30:03 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C42D63A268E for ; Fri, 6 Aug 2021 02:30:01 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.896 X-Spam-Level: X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 934wF3KtVJeM for ; Fri, 6 Aug 2021 02:29:57 -0700 (PDT) Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1FD4D3A268C for ; Fri, 6 Aug 2021 02:29:57 -0700 (PDT) Received: from fraeml714-chm.china.huawei.com (unknown [172.18.147.206]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Gh0YV3Hj8z6BCTg for ; Fri, 6 Aug 2021 17:29:34 +0800 (CST) Received: from dggeme717-chm.china.huawei.com (10.1.199.113) by fraeml714-chm.china.huawei.com (10.206.15.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2176.2; Fri, 6 Aug 2021 11:29:52 +0200 Received: from dggeme770-chm.china.huawei.com (10.3.19.116) by dggeme717-chm.china.huawei.com (10.1.199.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Fri, 6 Aug 2021 17:29:50 +0800 Received: from dggeme770-chm.china.huawei.com ([10.8.68.58]) by dggeme770-chm.china.huawei.com ([10.8.68.58]) with mapi id 15.01.2176.012; Fri, 6 Aug 2021 17:29:50 +0800 From: "maqiufang (A)" To: "netmod@ietf.org" Thread-Topic: [netmod] Question on Subtree Filtering Usage Example Thread-Index: AdeKkhJTMf6WPUJPRTOwirelz/r0Vg== Date: Fri, 6 Aug 2021 09:29:50 +0000 Message-ID: <271e21e218bf42a991f5cb6ba0b6161d@huawei.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.136.123.93] Content-Type: multipart/alternative; boundary="_000_271e21e218bf42a991f5cb6ba0b6161dhuaweicom_" MIME-Version: 1.0 X-CFilter-Loop: Reflected Archived-At: Subject: [netmod] Question on Subtree Filtering Usage Example X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2021 09:30:02 -0000 --_000_271e21e218bf42a991f5cb6ba0b6161dhuaweicom_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, all: In RFC6241 section 6.4(https://datatracker.ietf.org/doc/html/rfc6241#sectio= n-6.4), several single subtree filtering examples are given. I am wondering whether we can select multiple elements within the S= ubtree. Note that we also assume "users" parent element is the container with prese= nce substatement. Here is the RPC request message with specific subtree filtering : I am wondering what RPC response will look like? It will respond with null = or it will respond as follows: root superuser fred admin Best Regards, Qiufang Ma --_000_271e21e218bf42a991f5cb6ba0b6161dhuaweicom_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi, all:

 

In RFC6241 section 6.4(https://datatracker.ietf.org/doc/h= tml/rfc6241#section-6.4), several single subtree filtering examples are= given.

I am wondering whether we can select multiple elemen= ts within the <users> Subtree.

Note that we also assume "users" parent el= ement is the container with presence substatement.

Here is the RPC request message with specific subtre= e filtering :

     <rpc message-id=3D"= 101"

        &nbs= p; xmlns=3D"urn:ietf:params:xml:ns:netconf:base:1.0">

       <get-config&= gt;

         <= ;source>

        &nbs= p;  <running/>

         <= ;/source>

         <= ;filter type=3D"subtree">

        &nbs= p;  <top xmlns=3D"http://example.com/schema/1.2/config"&g= t;

        &nbs= p;    <users>

        &nbs= p;      <user>

        &nbs= p;           <name/>= ;

        &nbs= p;            <ty= pe/>

        &nbs= p;      </user>

        &nbs= p;    </users>

        &nbs= p;  </top>

         <= ;/filter>

       </get-config= >

     </rpc>

 

I am wondering what RPC response will look like? It = will respond with null or it will respond as follows:

     <rpc-reply message-id=3D= "101"

        &nbs= p; xmlns=3D"urn:ietf:params:xml:ns:netconf:base:1.0">

       <data>

         <= ;top xmlns=3D"http://example.com/schema/1.2/config">

        &nbs= p;  <users>

        &nbs= p;    <user>

        &nbs= p;      <name>root</name>

        &nbs= p;      <type>superuser</type>

        &nbs= p;    </user>

        &nbs= p;    <user>

        &nbs= p;      <name>fred</name>

        &nbs= p;      <type>admin</type><= /p>

        &nbs= p;    </user>

        &nbs= p; </users>

       </top>

   </data>

</rpc-reply>

 

 

 

Best Regards,

Qiufang Ma

--_000_271e21e218bf42a991f5cb6ba0b6161dhuaweicom_-- From nobody Fri Aug 6 03:36:54 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 43C2A3A27B9 for ; Fri, 6 Aug 2021 03:36:52 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=jacobsuniversity.onmicrosoft.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lGmLCbFwYC5a for ; Fri, 6 Aug 2021 03:36:47 -0700 (PDT) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2052.outbound.protection.outlook.com [40.107.21.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CB36D3A280D for ; Fri, 6 Aug 2021 03:36:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ogk+/U5JlbIjRG7QcoQrAtgHPWYO5SobU6cpKzDASPU7ZryuQ9t1y0PMWWc1wBKVfg1LgIKDcpUJgvZm2Q6ssVbQDyQxQkoBBahsC2WH5P/7ZXJmV0Rahwxdgd/0kiNlQgJlUT9CkBRFU8QlPFqV5mb5CbuMw1L0ka4cW3vd7NHI/KG2A+gp2SWO84mdIqBIEyJ3VYYcvp5tRWWaVOLNZdrgdDxsbz5Z/zsrwvg25XYiZxK79vYnfwB4Yfmej8CTVSH4jtzQ4tevyJEC1AdqOaH8Q+o8zp7dI3c/fOcgIvrrb/eifVD0whI3Rfcyvm4suVtYJqbzuKZ8PMSlMsaCvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Y9DmsTb4rx6ZY1s8YLTkfxtCpvJVVnRR5H4RExJjvys=; b=OMhLZmEVRqO+x/m0vUz8DzIs5LyiqbgkYvl3XyK1sNmD3i5fgr3yQ87m+HWobM+RfnW3NdbAPtow/+DHgm+45/7G6Rb/pnrgnNUO37FxJ7aOCtfxeKKHMs0bTncoRHh4Ty0L1GUvefcyeIS+Uy13XAWISgbZETbQnngGCXCaoYmJcRGgYixSm3i43uOZol+NJucQNMv89DojDrqqLwXdGg+AR3K4Nt/2wZdT+lI7BrfF6Hn+6qBZl/YdzdhB3rSy0DcMicY92OMmBiWRkmkFDPw9767EQ2ULIdimzB92vnLJNCUUrHvHeSGl3g9Ae5TMw2unZ8AauOajrFspMITGcQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jacobs-university.de; dmarc=pass action=none header.from=jacobs-university.de; dkim=pass header.d=jacobs-university.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jacobsuniversity.onmicrosoft.com; s=selector2-jacobsuniversity-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Y9DmsTb4rx6ZY1s8YLTkfxtCpvJVVnRR5H4RExJjvys=; b=nMPFsJUIsWkPz87AKYkHTeOfXKZb41bGUJhi0lmUIFrfbTr2lWBD1eBmpI/beh6LQD+GNZSZ7nYZ5FGszFmE5bGskSrGUdi7tHHq5zGD0ExG9gpmdkeBJR/ssjrBeGW4zpH/EBmsvyLfH3n30DtYXJVEwN2xYScNmxi8R3bblYs= Authentication-Results: huawei.com; dkim=none (message not signed) header.d=none;huawei.com; dmarc=none action=none header.from=jacobs-university.de; Received: from AM0P190MB0641.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:194::23) by AM0P190MB0788.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:198::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Fri, 6 Aug 2021 10:35:14 +0000 Received: from AM0P190MB0641.EURP190.PROD.OUTLOOK.COM ([fe80::58c1:599a:1d3d:cdeb]) by AM0P190MB0641.EURP190.PROD.OUTLOOK.COM ([fe80::58c1:599a:1d3d:cdeb%9]) with mapi id 15.20.4394.017; Fri, 6 Aug 2021 10:35:13 +0000 Date: Fri, 6 Aug 2021 12:35:13 +0200 From: =?utf-8?B?SsO8cmdlbiBTY2jDtm53w6RsZGVy?= To: "maqiufang (A)" Cc: "netmod@ietf.org" Message-ID: <20210806103513.5avd4etlxmrahq3u@anna.jacobs.jacobs-university.de> Reply-To: Juergen Schoenwaelder Mail-Followup-To: "maqiufang (A)" , "netmod@ietf.org" References: <271e21e218bf42a991f5cb6ba0b6161d@huawei.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <271e21e218bf42a991f5cb6ba0b6161d@huawei.com> X-ClientProxiedBy: AM0P190CA0006.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::16) To AM0P190MB0641.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:194::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost (212.201.44.244) by AM0P190CA0006.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15 via Frontend Transport; Fri, 6 Aug 2021 10:35:13 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9d5d3fb4-319c-432b-969b-08d958c5dfd9 X-MS-TrafficTypeDiagnostic: AM0P190MB0788: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5516; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +eBycNs1w3e9OyjLCjQKdUjMWrtopM+lID8GjDu1Gv/o4kA8xiA+bB1pVeJgqmNHv6awHan52w3Zt/OJ+BCh62HU9Of0MngnDXLY2Xwqi89CvWsztaWQYArSp9NO+zIFC65XeQX/PyQ3uUbJQeV/SAseHVuEjuXDnXz+34hAbp13eIJkv8PxREnzy/ktMB7nR6HWdShWwusapTXZ7PKNvL6fxDmmlOWppP2bWoL5e27RvA1pYv/rpUHuYms42mfusb1nPPu5lPqBcAtRLwMAn/Kj6m9d/aXlmfl/CiGfeADJQkULs4JyndQusLDFldOpKfwJ2kvJp41APARhY5FDaAE+VuiFnsToVbQ0es18Ino8esXB8QEYIDXLfSIHZbSyacAnNo4mtv/eLIQX81xrtzxzZSAdB7DbEtNkcqxNxjuD9ZmGNfUg2filOUOLfyUGU1oBx/QaAW7LXlStZZ94TNowQwdApNAQhXIj4y9mIx1xL6aGyU8sf5cgLuj++i5StHZci38RFcZ249Q8PC4D/63F64RIEH8mb40kMetdaafmiMKs6sZ/yFTDMKzbBWp2C1WREOAjFG8DX9G046SY35vMZ0K2YSVMV/ufhCFv1X835uSdJdM8Nc91vhf1Sxx49sP+58z2yzYKdCW3Mt3ColfnQ40R/6S6weN62AR8/aAsGS9AJrKAZDyhAZx0sm+BCi2xKCNE4q25sa5AFgs4PvrDgDmO2rvB5xBrbiyaBRs1ZzZDNO/tfckJEjcgdHBqb1OSig4WMH2pnAZgNsoTqEquR3dIxL5q1JBT09BPX/4uKcXqTc1ku3kEFDqO4oM7OYSJnY6JGZyArvkjykz75brdq188YyfB/C2jKCUNAhE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0P190MB0641.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(39850400004)(346002)(376002)(396003)(136003)(366004)(5660300002)(966005)(956004)(66946007)(52116002)(3450700001)(4326008)(6496006)(2906002)(66476007)(85182001)(86362001)(8936002)(316002)(786003)(66556008)(38100700002)(38350700002)(26005)(1076003)(83380400001)(6916009)(478600001)(8676002)(85202003)(186003)(6486002)(562404015); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VEo3Q3dScFNGYUZWNHNiMnJNMFdrTWRrQ2hvazZ0TlFKSzVzSEM5T1JrS2RO?= =?utf-8?B?MXJKSWZjRHhVYlltYVg3dENKZ3Vob3M1T250aVZHOCs2YWZRTVRVMk9JcmdS?= =?utf-8?B?STk3RGJSZ2VKRjg2OXhvWGxOMjg0TnJ3aFgySDZCdms3STdaUVMxeHF5cEFn?= =?utf-8?B?WE1qckNOSVR5cjV4cERWdk5XSTBsdzUvaFFPazk1bWFWN0JEVSttRnFwK3JK?= =?utf-8?B?YlYxZmZVOHhtUE02Qi9xblVNUjh0bmthd1RPblN6S1g4eXFsWGhFRXN3WEh2?= =?utf-8?B?RWdodnNLNlVyLy9EOEszNDZsRnNvZkg4eEtRMitoRytsM2ZzTUtsNXExRjlM?= =?utf-8?B?UW1XdVpDdVcrckJ1cytkWXZuMHIyRUR0L1ZYNnNNRFJ0VGU0T3BrbjZyWXVM?= =?utf-8?B?WUdKSm9nTHMrTGlUbW1IVmFKNjR2WGttU0N4OWZrVldWUlkwSEdwdXovQ25C?= =?utf-8?B?SmY3eUNBWFI4b01ZN2J2U3Brc1FYN0drbnJrZkNOSUlrUU00OWJuVGJ5VGx4?= =?utf-8?B?SUpYYkh2elJUV2ZBY2hBQWtRQUhzSFdMRWY5WmY0L0ZqR0liUkw2NGxCejN3?= =?utf-8?B?cHZkSzh4NjRkaUFQL0dsN0FzcE95WXRTdndLMHN2TVhLQnJhaW5sQ2drcWxD?= =?utf-8?B?c0pZQ2I1aXlocVBrbG9Bd1RuckxlcHBrUHRHdm9acU5wUDFkMUtrWVFCZmNF?= =?utf-8?B?S0EydDlvbC9CNnN0ZGVmOGIwcytwWDc4NGdMQjZ0SkN3eS9RRnk0eDFLTWRO?= =?utf-8?B?YjVLalV4dmVJQkVCVUYvd0RYUlp5SkRFemZVN3lBT3piZ3J5OWhqaUkzRSt6?= =?utf-8?B?Zythdlhwc3QvdzBzSG1ybFJLSEJtbFQ2amJ4cGpZQjhGSkJ0VkMxRElGcGgy?= =?utf-8?B?cEhITUc0KzlkWXpvVjg0RkM2aVdMSjBBcncwcUk0UGxqY1RKaG10WHlCN1Fp?= =?utf-8?B?L2lybDFIL3ZOUUM2ZHYrN3c2QnpWbWNWMkVNbUhvU3BVR2tEQS9sUElocE1y?= =?utf-8?B?NU5iQ0lBL0YrcUVHdHJnK0JiYWg5NVRDZ3hPRGtIOFo5VW1hc2UwbXAzbEZy?= =?utf-8?B?MVJ0VWd2UkZzTEFwOEVVRWUvb2NGM0RWenRYSkIrcmVMMzVPQ3VWUkd6TzZs?= =?utf-8?B?UnZrckhqUVlFMnpOeHF6UE5rcmxCbmp2MTdUQnlXWEVmNkt1M01yNit5QTU4?= =?utf-8?B?RmZEUHVhZkozMDhMakZSTEE1WmFXRFAxK0RCYUFRcCtNUjJHa2tyZ3ArK04v?= =?utf-8?B?R3pVM1g3VGwrVEJSVDdFSnlHOEdDL3JGQTYrNnM4Yi85VzhJb1J4c3k0b01J?= =?utf-8?B?OHg1MEE0WEFZTW1wL282YTVkS3haeGpBV3hHYTJ1c25qRnpXTG5sZ0s4RHZ1?= =?utf-8?B?aFRiN2ZJUlJIQnZPY25yYXFLL291Vk45NEJjR09KZTVGSHF5bXBTSHBDMDVM?= =?utf-8?B?ekdoaFR5SjF4ZEtZTVM0Y2ZSS0g2dDBDQUc2K2t0enZTek9mV1czNTNkV1hP?= =?utf-8?B?M0d3SnFrcVhZVlN1endVWi9qa1VBYWRWaUs1TmVrLy95T2cxNGRhOW9aV2hF?= =?utf-8?B?RGt4L2NGNFNnUUl1UGpITkNydVdvZkJsUDMya3h2RysrWGRXM2xDdFVDU0ZS?= =?utf-8?B?aEJWMEZPdlBxcjMzOXhSSWt2YllVQ2RlTkxIMnN0NWkzQ0xDWUJkZGRlbTk2?= =?utf-8?B?TUNQS1U2WFVOTjR2MCtqZml1R29JUHZldHJPV2pLYnBVc2xlQ01EekhsV0s3?= =?utf-8?Q?0dbmQvrwsE2DBg++8hp2aJf1SXZb3sfEVpUdWJs?= X-OriginatorOrg: jacobs-university.de X-MS-Exchange-CrossTenant-Network-Message-Id: 9d5d3fb4-319c-432b-969b-08d958c5dfd9 X-MS-Exchange-CrossTenant-AuthSource: AM0P190MB0641.EURP190.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Aug 2021 10:35:13.8181 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f78e973e-5c0b-4ab8-bbd7-9887c95a8ebd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: c/WhOqLp7R0GcII1VJ9pgozizTEGi4GGgQUZ48AkebSbkGPJIcQ5gACosMn2ScPhTkaOfMxcdeJ/QCA2fabRqrOIUykZL9gARLU+SEr5VhA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0P190MB0788 Archived-At: Subject: Re: [netmod] Question on Subtree Filtering Usage Example X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2021 10:36:52 -0000 Hi, you may want to send your question to the netconf list since this is a protocol question and not a YANG question. (Concerning your question, please read section 6.2.4 "Selection Nodes". There is no restriction to only one selection node as far as I can tell.) /js On Fri, Aug 06, 2021 at 09:29:50AM +0000, maqiufang (A) wrote: > Hi, all: > > In RFC6241 section 6.4(https://datatracker.ietf.org/doc/html/rfc6241#section-6.4), several single subtree filtering examples are given. > I am wondering whether we can select multiple elements within the Subtree. > Note that we also assume "users" parent element is the container with presence substatement. > Here is the RPC request message with specific subtree filtering : > xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> > > > > > > > > > > > > > > > > > > I am wondering what RPC response will look like? It will respond with null or it will respond as follows: > xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> > > > > > root > superuser > > > fred > admin > > > > > > > > > Best Regards, > Qiufang Ma > _______________________________________________ > netmod mailing list > netmod@ietf.org > https://www.ietf.org/mailman/listinfo/netmod -- Juergen Schoenwaelder Jacobs University Bremen gGmbH Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany Fax: +49 421 200 3103 From nobody Fri Aug 6 04:11:58 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8F1013A2900; Fri, 6 Aug 2021 04:11:56 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.897 X-Spam-Level: X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x-PgqNoUAOdQ; Fri, 6 Aug 2021 04:11:52 -0700 (PDT) Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 36DAA3A28FF; Fri, 6 Aug 2021 04:11:52 -0700 (PDT) Received: from fraeml741-chm.china.huawei.com (unknown [172.18.147.207]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Gh2q32svHz6GDsq; Fri, 6 Aug 2021 19:11:27 +0800 (CST) Received: from dggeme719-chm.china.huawei.com (10.1.199.115) by fraeml741-chm.china.huawei.com (10.206.15.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2176.2; Fri, 6 Aug 2021 13:11:47 +0200 Received: from dggeme770-chm.china.huawei.com (10.3.19.116) by dggeme719-chm.china.huawei.com (10.1.199.115) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Fri, 6 Aug 2021 19:11:45 +0800 Received: from dggeme770-chm.china.huawei.com ([10.8.68.58]) by dggeme770-chm.china.huawei.com ([10.8.68.58]) with mapi id 15.01.2176.012; Fri, 6 Aug 2021 19:11:45 +0800 From: "maqiufang (A)" To: Juergen Schoenwaelder CC: "netmod@ietf.org" , "netconf@ietf.org" Thread-Topic: [netmod][netconf] Question on Subtree Filtering Usage Example Thread-Index: AdeKsyDJmZPyEoTYRIii/yYWDv0UMw== Date: Fri, 6 Aug 2021 11:11:45 +0000 Message-ID: <43f259b7886c4aa4aee3577a4904ce1a@huawei.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.136.123.93] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected Archived-At: Subject: Re: [netmod] [netconf] Question on Subtree Filtering Usage Example X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2021 11:11:57 -0000 SGksIA0KVGhhbmtzIGZvciB5b3VyIHJlcGx5LiBDcm9zcyBwb3N0aW5nIHRvIE5FVENPTkYgbGlz dC4NCg0KQmVzdCBSZWdhcmRzLA0KUWl1ZmFuZyBNYQ0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KRnJvbTogSsO8cmdlbiBTY2jDtm53w6RsZGVyIFttYWlsdG86ai5zY2hvZW53YWVsZGVy QGphY29icy11bml2ZXJzaXR5LmRlXSANClNlbnQ6IEZyaWRheSwgQXVndXN0IDYsIDIwMjEgNjoz NSBQTQ0KVG86IG1hcWl1ZmFuZyAoQSkgPG1hcWl1ZmFuZzFAaHVhd2VpLmNvbT4NCkNjOiBuZXRt b2RAaWV0Zi5vcmcNClN1YmplY3Q6IFJlOiBbbmV0bW9kXSBRdWVzdGlvbiBvbiBTdWJ0cmVlIEZp bHRlcmluZyBVc2FnZSBFeGFtcGxlDQoNCkhpLA0KDQp5b3UgbWF5IHdhbnQgdG8gc2VuZCB5b3Vy IHF1ZXN0aW9uIHRvIHRoZSBuZXRjb25mIGxpc3Qgc2luY2UgdGhpcyBpcyBhIHByb3RvY29sIHF1 ZXN0aW9uIGFuZCBub3QgYSBZQU5HIHF1ZXN0aW9uLiAoQ29uY2VybmluZyB5b3VyIHF1ZXN0aW9u LCBwbGVhc2UgcmVhZCBzZWN0aW9uIDYuMi40ICJTZWxlY3Rpb24gTm9kZXMiLiBUaGVyZSBpcyBu byByZXN0cmljdGlvbiB0byBvbmx5IG9uZSBzZWxlY3Rpb24gbm9kZSBhcyBmYXIgYXMgSSBjYW4g dGVsbC4pDQoNCi9qcw0KDQpPbiBGcmksIEF1ZyAwNiwgMjAyMSBhdCAwOToyOTo1MEFNICswMDAw LCBtYXFpdWZhbmcgKEEpIHdyb3RlOg0KPiBIaSwgYWxsOg0KPiANCj4gSW4gUkZDNjI0MSBzZWN0 aW9uIDYuNChodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzYyNDEjc2Vj dGlvbi02LjQpLCBzZXZlcmFsIHNpbmdsZSBzdWJ0cmVlIGZpbHRlcmluZyBleGFtcGxlcyBhcmUg Z2l2ZW4uDQo+IEkgYW0gd29uZGVyaW5nIHdoZXRoZXIgd2UgY2FuIHNlbGVjdCBtdWx0aXBsZSBl bGVtZW50cyB3aXRoaW4gdGhlIDx1c2Vycz4gU3VidHJlZS4NCj4gTm90ZSB0aGF0IHdlIGFsc28g YXNzdW1lICJ1c2VycyIgcGFyZW50IGVsZW1lbnQgaXMgdGhlIGNvbnRhaW5lciB3aXRoIHByZXNl bmNlIHN1YnN0YXRlbWVudC4NCj4gSGVyZSBpcyB0aGUgUlBDIHJlcXVlc3QgbWVzc2FnZSB3aXRo IHNwZWNpZmljIHN1YnRyZWUgZmlsdGVyaW5nIDoNCj4gICAgICA8cnBjIG1lc3NhZ2UtaWQ9IjEw MSINCj4gICAgICAgICAgIHhtbG5zPSJ1cm46aWV0ZjpwYXJhbXM6eG1sOm5zOm5ldGNvbmY6YmFz ZToxLjAiPg0KPiAgICAgICAgPGdldC1jb25maWc+DQo+ICAgICAgICAgIDxzb3VyY2U+DQo+ICAg ICAgICAgICAgPHJ1bm5pbmcvPg0KPiAgICAgICAgICA8L3NvdXJjZT4NCj4gICAgICAgICAgPGZp bHRlciB0eXBlPSJzdWJ0cmVlIj4NCj4gICAgICAgICAgICA8dG9wIHhtbG5zPSJodHRwOi8vZXhh bXBsZS5jb20vc2NoZW1hLzEuMi9jb25maWciPg0KPiAgICAgICAgICAgICAgPHVzZXJzPg0KPiAg ICAgICAgICAgICAgICA8dXNlcj4NCj4gICAgICAgICAgICAgICAgICAgICA8bmFtZS8+DQo+ICAg ICAgICAgICAgICAgICAgICAgIDx0eXBlLz4NCj4gICAgICAgICAgICAgICAgPC91c2VyPg0KPiAg ICAgICAgICAgICAgPC91c2Vycz4NCj4gICAgICAgICAgICA8L3RvcD4NCj4gICAgICAgICAgPC9m aWx0ZXI+DQo+ICAgICAgICA8L2dldC1jb25maWc+DQo+ICAgICAgPC9ycGM+DQo+IA0KPiBJIGFt IHdvbmRlcmluZyB3aGF0IFJQQyByZXNwb25zZSB3aWxsIGxvb2sgbGlrZT8gSXQgd2lsbCByZXNw b25kIHdpdGggbnVsbCBvciBpdCB3aWxsIHJlc3BvbmQgYXMgZm9sbG93czoNCj4gICAgICA8cnBj LXJlcGx5IG1lc3NhZ2UtaWQ9IjEwMSINCj4gICAgICAgICAgIHhtbG5zPSJ1cm46aWV0ZjpwYXJh bXM6eG1sOm5zOm5ldGNvbmY6YmFzZToxLjAiPg0KPiAgICAgICAgPGRhdGE+DQo+ICAgICAgICAg IDx0b3AgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLmNvbS9zY2hlbWEvMS4yL2NvbmZpZyI+DQo+ICAg ICAgICAgICAgPHVzZXJzPg0KPiAgICAgICAgICAgICAgPHVzZXI+DQo+ICAgICAgICAgICAgICAg IDxuYW1lPnJvb3Q8L25hbWU+DQo+ICAgICAgICAgICAgICAgIDx0eXBlPnN1cGVydXNlcjwvdHlw ZT4NCj4gICAgICAgICAgICAgIDwvdXNlcj4NCj4gICAgICAgICAgICAgIDx1c2VyPg0KPiAgICAg ICAgICAgICAgICA8bmFtZT5mcmVkPC9uYW1lPg0KPiAgICAgICAgICAgICAgICA8dHlwZT5hZG1p bjwvdHlwZT4NCj4gICAgICAgICAgICAgIDwvdXNlcj4NCj4gICAgICAgICAgIDwvdXNlcnM+DQo+ ICAgICAgICA8L3RvcD4NCj4gICAgPC9kYXRhPg0KPiA8L3JwYy1yZXBseT4NCj4gDQo+IA0KPiAN Cj4gQmVzdCBSZWdhcmRzLA0KPiBRaXVmYW5nIE1hDQoNCj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gbmV0bW9kIG1haWxpbmcgbGlzdA0KPiBuZXRt b2RAaWV0Zi5vcmcNCj4gaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRt b2QNCg0KDQotLSANCkp1ZXJnZW4gU2Nob2Vud2FlbGRlciAgICAgICAgICAgSmFjb2JzIFVuaXZl cnNpdHkgQnJlbWVuIGdHbWJIDQpQaG9uZTogKzQ5IDQyMSAyMDAgMzU4NyAgICAgICAgIENhbXB1 cyBSaW5nIDEgfCAyODc1OSBCcmVtZW4gfCBHZXJtYW55DQpGYXg6ICAgKzQ5IDQyMSAyMDAgMzEw MyAgICAgICAgIDxodHRwczovL3d3dy5qYWNvYnMtdW5pdmVyc2l0eS5kZS8+DQo= From nobody Fri Aug 6 10:59:44 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7DF553A0CBB for ; Fri, 6 Aug 2021 10:59:42 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.901 X-Spam-Level: X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Eyn13FTtQYsQ for ; Fri, 6 Aug 2021 10:59:37 -0700 (PDT) Received: from rfc-editor.org (rfc-editor.org [4.31.198.49]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5290E3A0CAE for ; Fri, 6 Aug 2021 10:59:37 -0700 (PDT) Received: by rfc-editor.org (Postfix, from userid 30) id B04B5F40720; Fri, 6 Aug 2021 10:59:07 -0700 (PDT) To: rfc-editor@rfc-editor.org X-PHP-Originating-Script: 1005:errata_mail_lib.php From: RFC Errata System Cc: vleijon@cisco.com, mbj@tail-f.com, netmod@ietf.org Content-Type: text/plain; charset=UTF-8 Message-Id: <20210806175907.B04B5F40720@rfc-editor.org> Date: Fri, 6 Aug 2021 10:59:07 -0700 (PDT) Archived-At: Subject: [netmod] [Editorial Errata Reported] RFC7950 (6655) X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2021 17:59:43 -0000 The following errata report has been submitted for RFC7950, "The YANG 1.1 Data Modeling Language". -------------------------------------- You may review the report below and at: https://www.rfc-editor.org/errata/eid6655 -------------------------------------- Type: Editorial Reported by: Viktor Leijon Section: 10.6.1.1 Original Text ------------- leaf flags { type bits { bit UP; bit PROMISCUOUS bit DISABLED; } } Corrected Text -------------- leaf flags { type bits { bit UP; bit PROMISCUOUS; bit DISABLED; } } Notes ----- The missing semicolon makes the YANG snippet invalid. Instructions: ------------- This erratum is currently posted as "Reported". If necessary, please use "Reply All" to discuss whether it should be verified or rejected. When a decision is reached, the verifying party can log in to change the status and edit the report, if necessary. -------------------------------------- RFC7950 (draft-ietf-netmod-rfc6020bis-14) -------------------------------------- Title : The YANG 1.1 Data Modeling Language Publication Date : August 2016 Author(s) : M. Bjorklund, Ed. Category : PROPOSED STANDARD Source : Network Modeling Area : Operations and Management Stream : IETF Verifying Party : IESG From nobody Fri Aug 6 11:19:51 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 28AE53A0E00 for ; Fri, 6 Aug 2021 11:19:41 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.1 X-Spam-Level: X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=4668.se header.b=Vmycbl1p; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=myLTfY3t Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tRfL1RFotc3y for ; Fri, 6 Aug 2021 11:19:35 -0700 (PDT) Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com [64.147.123.21]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2EDB93A0E2C for ; Fri, 6 Aug 2021 11:19:30 -0700 (PDT) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.west.internal (Postfix) with ESMTP id 2AE393200906; Fri, 6 Aug 2021 14:19:28 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Fri, 06 Aug 2021 14:19:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=4668.se; h=date :message-id:to:cc:subject:from:in-reply-to:references :mime-version:content-type:content-transfer-encoding; s=fm2; bh= 6QA7CmDZ+ddNAqBWSI3JVIODBzMXvBJoqQcwqPHiiPc=; b=Vmycbl1pjswgcsNl SGwADfYVxMTpgtZ2AMUwDAQLKeDopwf/mzrFUk3NJ+Gr3MtislWhFtO+LK+sSStg z/xXO71i13CGglrzAKlI3qCwsDqYVc7PqrL00g8xneYxnvND0e1zVKoNc/DclxXp 7hUln6eGuvjcZcUyWhN3XdsOFd+G+8aoODC/FBSMK6lMN8hT/b7004sj2mqLZjmI nvC9JNyCSrWnWFIUyc6cDF8cdSqeHmEfMXf3NT309fpCRmmoau92EMargzkZVwv3 M2I0tJDnTFOFHGLenea5RQ2wcNor+/5c7ai0ShVXjyr+FZVYdatXMNXwfxdpBrCK f0R5+Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=6QA7CmDZ+ddNAqBWSI3JVIODBzMXvBJoqQcwqPHii Pc=; b=myLTfY3tuMPVY2G8Tb/S8pTqEXP4Nusoiz4PCiCR19dWp24pgl4HmoQz6 1BmwW5v07T2k7GNksLOmQKrGKtyGlm50XWiF9gTnJj89EjPXPWGrLLZ64wa2LHZP ri9zCMBj+MsdmUfFNbkQkSc8g4cLSa9BjMcgsXlJSkNBSXW7fqxPt+0FrPat3/lI M3kOYNsYNsymb6Ud4CFYVGzWPw736t3UXz1JPkzQEke3CdTad7uBvgxnJKCQLrs4 meak/BiUBX6QMz8kE/YpeMIwP6cwkSWvXot9V2PbgVkoFW16qZqBU+IZGJ5EHWSv edfXneHPwjN0D0kuH/GKHzm3gN9gA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrjedugdduvddtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpeffkffvuffhjghfofggtgfgsehtje ertdertddvnecuhfhrohhmpeforghrthhinhcuuehjnphrkhhluhhnugcuoehmsghjodhi vghtfhesgeeiieekrdhsvgeqnecuggftrfgrthhtvghrnhepueefffdugeevffehtdduke elvdfgffefudfgtefhgeeivedttddvfeetfefffeejnecuffhomhgrihhnpehrfhgtqdgv ughithhorhdrohhrghdpihgvthhfrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomhepmhgsjhdoihgvthhfseegieeikedrshgv X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 6 Aug 2021 14:19:25 -0400 (EDT) Date: Fri, 06 Aug 2021 20:19:22 +0200 (CEST) Message-Id: <20210806.201922.265340686143109379.id@4668.se> To: rfc-editor@rfc-editor.org Cc: mbj+ietf@4668.se, vleijon@cisco.com, netmod@ietf.org From: Martin =?iso-8859-1?Q?Bj=F6rklund?= In-Reply-To: <20210806175907.B04B5F40720@rfc-editor.org> References: <20210806175907.B04B5F40720@rfc-editor.org> X-Mailer: Mew version 6.8 on Emacs 26.3 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Archived-At: Subject: Re: [netmod] [Editorial Errata Reported] RFC7950 (6655) X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2021 18:19:50 -0000 This is clearly a typo. The errata should be verified. /martin RFC Errata System wrote: > The following errata report has been submitted for RFC7950, > "The YANG 1.1 Data Modeling Language". > > -------------------------------------- > You may review the report below and at: > https://www.rfc-editor.org/errata/eid6655 > > -------------------------------------- > Type: Editorial > Reported by: Viktor Leijon > > Section: 10.6.1.1 > > Original Text > ------------- > leaf flags { > type bits { > bit UP; > bit PROMISCUOUS > bit DISABLED; > } > } > > Corrected Text > -------------- > leaf flags { > type bits { > bit UP; > bit PROMISCUOUS; > bit DISABLED; > } > } > > Notes > ----- > The missing semicolon makes the YANG snippet invalid. > > Instructions: > ------------- > This erratum is currently posted as "Reported". If necessary, please > use "Reply All" to discuss whether it should be verified or > rejected. When a decision is reached, the verifying party > can log in to change the status and edit the report, if necessary. > > -------------------------------------- > RFC7950 (draft-ietf-netmod-rfc6020bis-14) > -------------------------------------- > Title : The YANG 1.1 Data Modeling Language > Publication Date : August 2016 > Author(s) : M. Bjorklund, Ed. > Category : PROPOSED STANDARD > Source : Network Modeling > Area : Operations and Management > Stream : IETF > Verifying Party : IESG > > _______________________________________________ > netmod mailing list > netmod@ietf.org > https://www.ietf.org/mailman/listinfo/netmod From nobody Fri Aug 6 11:44:12 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 224613A0FE7; Fri, 6 Aug 2021 11:43:57 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.899 X-Spam-Level: X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dWZLfAHDNNBU; Fri, 6 Aug 2021 11:43:51 -0700 (PDT) Received: from mout.perfora.net (mout.perfora.net [74.208.4.196]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BBA3D3A101A; Fri, 6 Aug 2021 11:43:50 -0700 (PDT) Received: from [172.16.0.44] ([73.189.160.186]) by mrelay.perfora.net (mreueus004 [74.208.5.2]) with ESMTPSA (Nemesis) id 1M6V2j-1mE1pl3YuP-006wJd; Fri, 06 Aug 2021 20:43:49 +0200 To: Erik Kline , The IESG Cc: draft-ietf-netmod-nmda-diff@ietf.org, netmod-chairs@ietf.org, netmod@ietf.org, Joel Jaeggli References: <162561596844.31608.5688267766928727482@ietfa.amsl.com> From: Alexander L Clemm Message-ID: <44cc23b4-7957-3ba3-d7ec-22f42775923d@clemm.org> Date: Fri, 6 Aug 2021 11:43:45 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: <162561596844.31608.5688267766928727482@ietfa.amsl.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US X-Provags-ID: V03:K1:BEiCMB98LXsxGMv90EOh34J4zJ095mtAXhwjujmAxufO75AumW8 SPna/EfB/52wcMr8bHSUl/mmBrXw6H9geWDfWH2N/gw75dbVm6Ri833B9tEDiowZ6VPndTa Y2stMc1lvx41OupwjJGKPCQUnj0pA4MKf7L/5CIQ69KqdttxQO7JVd7G6HJdheANFrfzGp7 DbGYGOyiRYZgfIUlZzojA== X-UI-Out-Filterresults: notjunk:1;V03:K0:Vorg4bg2BNs=:TIQZIZYxU83Gb2GZ883TGn qWGSnKwd0KgWzAXGYgKBbAhI6Xvr+vj/jjLBIvP7/u3h/QN4coFud5MPCT0cUXVW5rWyqlzr1 owMmEt3YZzV8jlRSWRczBIkUQE6U+OYUBDgT5ux4xgMQ+RpvkwL54PnxobG2bgwWJXQ+pIGsl NCIxyEJbQ4to/hUj9x6VEZgAI2JmtSrafCc0ayVoBfK6Hir08HjGvvIYHBubhKlcAyaJ9n+fY J2BIsxCV3+6hxBXquYdgeOctRTUpXAj+3Zi1BjbGOsWHeSXh/1imSt2ydo+3TvQib9QeM3sZs zhxxnoJugZjwrH2vRF8rjgz4lB4XkkAYxoLWIvY6kkRfIkhGgj6qLOs++HmiEg24oFTNWz/7c t2mSbdyTlgu2axobRnnWb3ipdoqgXTFyQ/tQoQ3Li4wsPtpxQV+1FmYKlrHXIEUwTQubdRRoG PUD5WTkIW9fRNAy1oEv6UyNfm3ufswAisEP278bO7BreB9OqWwcjRqdtQdyqfXYDZbvpmwv7b h6X4+ZZ9/a2zGyYwa5WM+wyhTYiwZvRegugVdiYqbvRvf71oOb/dNZDzqK/UNcSfmxt5I6rzb Wh/avZdD2FkEUJjcId6uBKYKO03OONOf5+AH1YuCQqrdpKCwebdU/UpEiWeUs7+31M8VzN5bB pp5DCaF4SKIX6RKG9sMvDbpKkYK2OMNWjCDvPjMMsB7rIJE4yjgsgEjrHpfZ70y8ULL+22DxF ayMf5tYSD/pM7DBhe9P6GKz0Ko5Ulv0pjm0o9PFxCibTvQVKPH3RQ5I5UrqJgMCMO3xudSqei x55IlTyQI8cDDDJKS4Nahz3DgtYHd4KRLsphV6JIf97Vqf8Ues9hAlBXgzMTlyIdMBc6m+V Archived-At: Subject: Re: [netmod] Erik Kline's No Objection on draft-ietf-netmod-nmda-diff-09: (with COMMENT) X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2021 18:44:06 -0000 Hello Erik, thank you for your review.  Please see my responses inline below. Thanks --- Alex On 7/6/2021 4:59 PM, Erik Kline via Datatracker wrote: > Erik Kline has entered the following ballot position for > draft-ietf-netmod-nmda-diff-09: No Objection > > When responding, please keep the subject line intact and reply to all > email addresses included in the To and CC lines. (Feel free to cut this > introductory paragraph, however.) > > > Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html > for more information about DISCUSS and COMMENT positions. > > > The document, along with other ballot positions, can be found here: > https://datatracker.ietf.org/doc/draft-ietf-netmod-nmda-diff/ > > > > ---------------------------------------------------------------------- > COMMENT: > ---------------------------------------------------------------------- > > [S5] [question] > > * In the output yang-patch response when differences are present, is it > theoretically possible that 'create' or 'insert' operations will need > to be represented? If not, why not? The yang-patch response does include those differences.  The particular item in question pertains specifically to the augmentation to YANG-patch, in which the origin value is also specified (i.e., when you have a difference, it does not only tell you the new value / the YANG-patch that you have to apply, but it also tells you the original value that it had before).  When you apply a 'create' or 'insert' operation, clearly the item that you are creating or inserting was not there before, hence there is nothing to include. > > [S{7,9}] [observation] > > * The last paragraph of Section 9 and the whole of Section 7 seem to be > saying the same things? Perhaps consider if it's better to just say > them once in Section 9 or say everything in Section 7 and just have > the last paragraph of Section 9 say, in effect, "see also Section 7". > > > Well, the same issue (compare issue being potentially computationally expensive) has ramifications on both security and performance. Originally this was explained only in Section 9 (Security Considerations), but then an earlier suggestion was to spell this out explicitly in Section 7 as a Performance Consideration as well, hence it is mentioned in both places. I guess this makes it more explicit and at this point I would suggest to leave it there.   From nobody Fri Aug 6 11:44:21 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F32B63A1019; Fri, 6 Aug 2021 11:44:00 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.897 X-Spam-Level: X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4nsQTWkVZ0q8; Fri, 6 Aug 2021 11:43:56 -0700 (PDT) Received: from mout.perfora.net (mout.perfora.net [74.208.4.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 579D93A102E; Fri, 6 Aug 2021 11:43:56 -0700 (PDT) Received: from [172.16.0.44] ([73.189.160.186]) by mrelay.perfora.net (mreueus002 [74.208.5.2]) with ESMTPSA (Nemesis) id 0MbfKV-1mSNHp48cH-00J2ev; Fri, 06 Aug 2021 20:43:53 +0200 To: Alexey Melnikov , secdir@ietf.org Cc: last-call@ietf.org, netmod@ietf.org, draft-ietf-netmod-nmda-diff.all@ietf.org References: <162514430275.17979.13728329356212798526@ietfa.amsl.com> From: Alexander L Clemm Message-ID: <200d27c8-f73a-a1be-47c0-727c56b80a8b@clemm.org> Date: Fri, 6 Aug 2021 11:43:51 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: <162514430275.17979.13728329356212798526@ietfa.amsl.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US X-Provags-ID: V03:K1:5F2Qjcvk/wPKQBZMeKg9T5EKI91kO9niY6xUbj2bx8YBCyRd51K icDSwNZdPSLZGeuoJ3AkTixc7iqZ9UYBtIFqMUyvHu5T3aZC2v+1b32r5/opHIc7zxoSNF8 1W8AalAI4FKOqBzp5CC31Wxwnj186wkNxfC05BMdEUhsHU6t/otZGqBUZ7HWH3AsXSdH7lU 7IZby05ul2eUx4UA9hRlw== X-UI-Out-Filterresults: notjunk:1;V03:K0:t/R3L968WMw=:ei4ecjrDfRcFYI+zwTwrK+ U4134ZlG7pJMHYiFt2q3SalHldWqTImdxSepIZjGm8Ul4XfDLRhbI6AVixbl+Zgb4RB8h5fp8 7CVHkoVAijpt9aNR6vRWxmCKcwx4SCwWVMx7Qo4xZGeadr5D3BZ165oDkZNjzQhWNrPNmla2v 4KVbrcLNXsX4684RaIXSXI/95MI1/fQ/kpQe87fSOIZMtxOKJkuUQTYLyVUteFgWDZ+CTi5Uw 41v4wEdGaOMXNK9T3mm/hx/0WQzCMxx5zk0FB4uhfpE51rMBtXKfouHPEODTJWCWJKoOCk3Qw iTXkhF19zjQL2yYm7F51rWpluL2u1gHbZbx94waKnSQG5eIDV8OPk2CN3d8hSkYs/JkaXXsQX HR4CsHxH9v8vTO59ngwZ06Jy3FLxYB8c03liRR4zsp7j5SKhtSDjEba5/KvetnsJNgh67nOz9 f2xTuqzdjxHstWQEFBjCg5dEdgE9pD5eE2Jb2b1pSZ8ftjydbMvWZi74AQVuQE6oaXa2lQ2w8 30Y4GAQ0XnRIJ0q8+MhJ8JrSAJmQwdzlBS+uUJQhyUBp0GUu6fUhc24MHxkSLqbuheU9FfdED pO4UgZGQ9ARTSa6mYUHUUjDhl6hqb6lPcDfWaMzc1uKZYN7El/4raKkA2jNF5ZpXPCqdKWpJp ThWHQhTAoBzRFwKt9njGAy+aNTjwK1l3CATVqwFo9i3m53kzjCrAKv6wljzF6Mfr7qiHyDJyV mpOKWGVgFdtOW066Pkd/xZQoNS2NhFLLWJb6R5hmCstnbbhG9IixfKrKGpX+SFXYDkllU9EM1 UxB9g3a5tvAAF2BknL+qMHvqaZE40UxrqDbCZk80aVsvG+rr5UfzLkMb4YplQEBBupkRoxx Archived-At: Subject: Re: [netmod] Secdir last call review of draft-ietf-netmod-nmda-diff-09 X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2021 18:44:10 -0000 Hi Alexey, thank you for your review and pointing out the nits (empty lines after HTTP headers), which are addressed in -12.  Kind regards --- Alex On 7/1/2021 5:58 AM, Alexey Melnikov via Datatracker wrote: > Reviewer: Alexey Melnikov > Review result: Has Nits > > I have reviewed this document as part of the security directorate's > ongoing effort to review all IETF documents being processed by the > IESG. These comments were written primarily for the benefit of the > security area directors. Document editors and WG chairs should treat these > comments just like any other last call comments. > > This document defines an RPC operation to compare management > datastores that comply with the NMDA architecture. > The Security Considerations talks about a couple of issues specific to > the new operation: > 1) sensitivity of the new "compare" operation and how access control rights > to access it should be restricted. > 2) performance considerations of running "compare" and > how it can lead to Denial-of-Service, if the number of requests allowed > in any given time interval is not restricted. > I can't think of other security issues raised by this document that are > missing from it. > > Nits: > > In Section 6: > >> The same request in RESTCONF (using JSON format): >> >> POST /restconf/operations/ietf-nmda-compare:compare HTTP/1.1 >> Host: example.com >> Content-Type: application/yang-data+json >> Accept: application/yang-d > Please insert an empty line after the HTTP request header and before the > following payload, or your example is not syntactically valid. > > Also, I don't "application/yang-d" in the list of registered media types on > . Did I miss it? > >> { "ietf-nmda-compare:input" { >> "source" : "ietf-datastores:operational", >> "target" : "ietf-datastores:intended", >> "report-origin" : null, >> "xpath-filter" : "/ietf-interfaces:interfaces" >> } >> } >> >> The same response in RESTCONF (using JSON format): >> >> HTTP/1.1 200 OK >> Date: Thu, 26 Jan 2019 20:56:30 GMT >> Server: example-server >> Content-Type: application/yang-d > Similar to the above, you need an empty line inserted here. > >> { "ietf-nmda-compare:output" : { >> "differences" : { >> "ietf-yang-patch:yang-patch" : { >> "patch-id" : "interface status", >> "comment" : "diff between intended (source) and operational", >> "edit" : [ >> { >> "edit-id" : "1", >> "operation" : "replace", >> "target" : "/ietf-interfaces:interface=eth0/enabled", >> "value" : { >> "ietf-interfaces:interface/enabled" : "false" >> }, >> "source-value" : { >> "ietf-interfaces:interface/enabled" : "true", >> "@ietf-interfaces:interface/enabled" : { >> "ietf-origin:origin" : "ietf-origin:learned" >> } >> } >> }, >> { >> "edit-id" : "2", >> "operation" : "create", >> "target" : "/ietf-interfaces:interface=eth0/description", >> "value" : { >> "ietf-interface:interface/description" : "ip interface" >> } >> } >> ] >> } >> } >> } >> } > Best Regards, > Alexey > > > _______________________________________________ > netmod mailing list > netmod@ietf.org > https://www.ietf.org/mailman/listinfo/netmod From nobody Fri Aug 6 11:44:30 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AFE433A1025; Fri, 6 Aug 2021 11:44:09 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.897 X-Spam-Level: X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nIXfmUy04zuQ; Fri, 6 Aug 2021 11:44:05 -0700 (PDT) Received: from mout.perfora.net (mout.perfora.net [74.208.4.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 08C753A1028; Fri, 6 Aug 2021 11:44:04 -0700 (PDT) Received: from [172.16.0.44] ([73.189.160.186]) by mrelay.perfora.net (mreueus002 [74.208.5.2]) with ESMTPSA (Nemesis) id 0MHVso-1m8n2V1y0a-003Jcc; Fri, 06 Aug 2021 20:44:03 +0200 To: Murray Kucherawy , The IESG Cc: draft-ietf-netmod-nmda-diff@ietf.org, netmod-chairs@ietf.org, netmod@ietf.org, Joel Jaeggli References: <162629975266.30955.5971703739690529871@ietfa.amsl.com> From: Alexander L Clemm Message-ID: <98acc9a8-6167-74c2-a1d3-7b9bbd4f54eb@clemm.org> Date: Fri, 6 Aug 2021 11:44:01 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: <162629975266.30955.5971703739690529871@ietfa.amsl.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US X-Provags-ID: V03:K1:uOgS0id6373vdCMYgCdaUlHQ1HPngn9oXKr3aMEKUmXMyMjqTKo 8grcTIbWC+UCmZ1Smi7KcdNnHy/DF3ddY7ujHU9tB0ZQbRF9rgkksLzC1oqgGlmj4/YL255 V9K5AwVxyIoLrZ2a8ZVKKWCxykw3lhSBnlWDCRgSpeGhIvslcGEDErVRSW285Qf8MFYIBiW yVPBg+UhYlNrqZWSlgKoA== X-UI-Out-Filterresults: notjunk:1;V03:K0:NQ/p9WF4tMs=:gjjw30958/VRCkT6X5ajQi DVYxzabxf7P5IVgJ7CmwIoZfBQ2jo0VpcS44DelzTAY+F55FwoFsj/7UJR8aqKNtjftux6gIs 09NOtgNLdKeWijc9qQje0c/t3tKybo+8pvmbH/THEyfgl4fNZydbCyiRJM4SI4Du2Pi3cGkeL lWSAihIzMHWC7ORVS7r9AJUIHPPcoplJT19iI4ynu/pdxZ4Uj8xwr2t54k+GQxem3SjNM1lxy pS6Wl7FdAOsiyrAYBIlA+NNSJQfTU7J1m1JCoBni/edGeX0AmytNQlFiWsrmSp0SLdK7ZB5mK E3/dr+nCC8dEeabg72cBZP0UVVHkpA6aBE5as1UivyBxHFEWNqIOICErC1Z+c6DylzF7hc5PV a42htao7D0IaIhAG3k6MAWyyMOR8nmLTQ3rg1uuOqg/Fqx3Jppq7ThczlwmE2EIAi2q/D9g2K GHYa121EJxrcmsypMTOG1h0oHsBfazaus5O6j+4AeTYIit/iSXX4YenjHfwhU6PVnfrkDPcki o26tqrHGyUDWiZFpOWD2Nbt6YTzmkwiZalJBXaHGRzuNMtvzIf9BtqPt7Tn3vK+TFkWvA81zV Ec7pjuoo5CDHS5KdN1uTYotMKBzx4vFKMIbDn15TO7QzHGwja59ZNngwo0uRZBBJ9s754Q/TU HnYZOdPv8wojw/MhrVAa26AmRTaLdg+yTHgulXF6a/TVDgx/vAE3SeRDeLhrlF9/DLJVQV7Be a3yFI4C4pXpaWGtc++qiUqr2PVsxUsElqt9CR7hiC6b7fUs1EYsZuOB+WmasfB6FrfmQQLDUi J4G8LIfVpLXqpSkMK565Ncs7zMyJXACcWWy2hxgFXs+Gy4bMxJJo1D5TPx6IlNQuy8j1suE Archived-At: Subject: Re: [netmod] Murray Kucherawy's No Objection on draft-ietf-netmod-nmda-diff-10: (with COMMENT) X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2021 18:44:18 -0000 Hello Murray, thank you for your comment.  I have corrected the grammar item that you pointed out.  Regarding mentioning the same issue(concerning the compare issue being potentially computationally expensive) in sections 7 and 9, that issue is relevant both from a performance as well as from a security standpoint, hence it is mentioned in both places.  In fact, originally it was only mentioned under security considerations, but explicitly added as a performance consideration per another request that was received.  Hence, I think it does not hurt to keep this as is and call it out in both places.  Kind regards --- Alex On 7/14/2021 2:55 PM, Murray Kucherawy via Datatracker wrote: > Murray Kucherawy has entered the following ballot position for > draft-ietf-netmod-nmda-diff-10: No Objection > > When responding, please keep the subject line intact and reply to all > email addresses included in the To and CC lines. (Feel free to cut this > introductory paragraph, however.) > > > Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html > for more information about DISCUSS and COMMENT positions. > > > The document, along with other ballot positions, can be found here: > https://datatracker.ietf.org/doc/draft-ietf-netmod-nmda-diff/ > > > > ---------------------------------------------------------------------- > COMMENT: > ---------------------------------------------------------------------- > > In Section 7: > > "... number of requests that is served to a client ..." -- s/is/are/ > > Also, it strikes me that some of what's in Section 7 is repeated in the last > paragraph of Section 9. I wonder if they could perhaps be merged, or 9 could > reference 7, or something. > > > From nobody Fri Aug 6 11:44:33 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 760813A1012; Fri, 6 Aug 2021 11:44:10 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.899 X-Spam-Level: X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 90ZdLYaaunBN; Fri, 6 Aug 2021 11:44:05 -0700 (PDT) Received: from mout.perfora.net (mout.perfora.net [74.208.4.196]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 62EEC3A0FFD; Fri, 6 Aug 2021 11:44:05 -0700 (PDT) Received: from [172.16.0.44] ([73.189.160.186]) by mrelay.perfora.net (mreueus003 [74.208.5.2]) with ESMTPSA (Nemesis) id 0Lmae5-1mlPVb1VGl-00aBk1; Fri, 06 Aug 2021 20:44:00 +0200 To: Lars Eggert , The IESG Cc: draft-ietf-netmod-nmda-diff@ietf.org, netmod-chairs@ietf.org, netmod@ietf.org, Joel Jaeggli References: <162609649382.9016.4775141501794218285@ietfa.amsl.com> From: Alexander L Clemm Message-ID: <5329b9e4-8b88-a995-386a-cfca15d48827@clemm.org> Date: Fri, 6 Aug 2021 11:43:57 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: <162609649382.9016.4775141501794218285@ietfa.amsl.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US X-Provags-ID: V03:K1:a2dkCqtAYzf/Iow89V9U6BrABIhNYM9V9nhHYnOEhDSJ0AC/TU+ xuICynWSY3ZRzPtKLzoC00ifTSrfiV+X2A0Tfc1BVNwfR+n7U/UH/fDQkwt3xKXjvzgIvf+ u2C2aMn2AMrBivel9lJsMFMyHPCAAjRFWDnEgh2wW1rZaCCkN83wT0btSv2BFwPkL7THxo8 uZxYu0NITZ8+qEnWQneOA== X-UI-Out-Filterresults: notjunk:1;V03:K0:06b0HWNn964=:wE4y5NMwiXuTYKGCVg4MDc 2XU0Kxye1f3Gy2994FGRvgYyYjXHyXx31kKuW/llffkj/XC6yLinnClwwr4phTC9GwYaxZgfZ aGKzCkDvW8bcjpLoQh3Ok0CNyrDldnBvZRiRi+CKrBI3vwy6z2NNaclosOV3avjFRYwdG+Qqq GOLy5Sd7gvnuvX5RUZLQGF79ZcM11YVdRsPXFSn1CYOBp/2SnsCewAA46p0667EqS/XpUid2V vJYZ+zMKQa5mW07M5OshJKTm/Wk373X86veN47xBIn33vuJ4U3bKdPG6EOBmQIfZdPt5PKM4w sM6QOMpDFliSwjGl0ze2Wt6YcGOS/XqH/1M2Ilt2pq3doOOT/D/7jH5KRhDIQxhRolNxzT1jd ePN91kXRwmPwv4ctZ5CL5V2CterDJZLvLovo/4xKf1bQrOPtn3MsCKBxosKC2CtunNdC9G+cG fyBTq6BlG5x/YWtD130WPINPct1Qv/MRNigTaSg3Zle6czLJdpO6y6bOrx3r9wjDiYACRmxG+ f4XIOgob0EYhzxfrHliI7cxGCg7ZsQtTxWrZ777q17qXWsyE+8NzQm1yv+IysmiQFGOF00Swj lrihKI1tOmkPSurw3alCpYp8JkctjaHZUTxIEhw59bJ1v+FIIiSx0rk3q1JvjnKH4fYRd4OT9 eGNiHNOf8fJtZqO56JWKHNeyTE+kdoqxQOlYibbK2vUKSNbmddmXKZr54PgV/hr60qee1gf8W P6ycxnARNJ8SUcwV3tdAfCeX0B7jcLB1iQuQWHJDOvm5Wgsh6n9GMA9Je09yHCwZjDeHUwo6+ ZYjv0zjyA0wfpsLYCY+2m+hsiMy3ci99dbAYgDGG5kOhTrs9unEPjU7PANh3T2yoAMBU5eB Archived-At: Subject: Re: [netmod] Lars Eggert's No Objection on draft-ietf-netmod-nmda-diff-09: (with COMMENT) X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2021 18:44:19 -0000 Hello Lars, thank you for your review. I have changed the sentence in section 1 para 2.  The reference to RFC 6991 is referenced by the YANG module, hence included in the citations.  I have updated the URL to the non-deprecated one.  Kind regards --- Alex On 7/12/2021 6:28 AM, Lars Eggert via Datatracker wrote: > Lars Eggert has entered the following ballot position for > draft-ietf-netmod-nmda-diff-09: No Objection > > When responding, please keep the subject line intact and reply to all > email addresses included in the To and CC lines. (Feel free to cut this > introductory paragraph, however.) > > > Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html > for more information about DISCUSS and COMMENT positions. > > > The document, along with other ballot positions, can be found here: > https://datatracker.ietf.org/doc/draft-ietf-netmod-nmda-diff/ > > > > ---------------------------------------------------------------------- > COMMENT: > ---------------------------------------------------------------------- > > All comments below are about very minor potential issues that you may choose to > address in some way - or ignore - as you see fit. Some were flagged by > automated tools (via https://github.com/larseggert/ietf-reviewtool), so there > will likely be some false positives. There is no need to let me know what you > did with these suggestions. > > Section 1. , paragraph 2, nit: >> s both applied configuration data as well as status and statistics. As a resu >> ^^^^^^^^^^ > Probable usage error. Use "and" after "both". > > Section 6. , paragraph 2, nit: >> ormat): HTTP/1.1 200 OK Date: Thu, 26 Jan 2019 20:56:30 GMT Server: example-s >> ^^^^^^^^^^^^^^^^ > The date 26 Jan 2019 is not a Thursday, but a Saturday. > > Uncited references: [RFC6991]. > > These URLs point to tools.ietf.org, which is being deprecated: > * http://tools.ietf.org/wg/netconf/ > > These URLs in the document can probably be converted to HTTPS: > * http://tools.ietf.org/wg/netconf/ > > > From nobody Fri Aug 6 12:07:54 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2C71F3A1150; Fri, 6 Aug 2021 12:07:48 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.897 X-Spam-Level: X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ppganOjoPwIw; Fri, 6 Aug 2021 12:07:43 -0700 (PDT) Received: from mout.perfora.net (mout.perfora.net [74.208.4.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F30E63A114A; Fri, 6 Aug 2021 12:07:42 -0700 (PDT) Received: from [172.16.0.44] ([73.189.160.186]) by mrelay.perfora.net (mreueus002 [74.208.5.2]) with ESMTPSA (Nemesis) id 0Lnh2P-1mmXCP37yJ-00ht9L; Fri, 06 Aug 2021 21:07:38 +0200 To: Benjamin Kaduk , Andy Bierman Cc: The IESG , draft-ietf-netmod-nmda-diff@ietf.org, NetMod WG Chairs , NetMod WG , Joel Jaeggli References: <162578071895.23622.6414701243842084826@ietfa.amsl.com> <20210715182748.GU74365@kduck.mit.edu> From: Alexander L Clemm Message-ID: Date: Fri, 6 Aug 2021 12:07:36 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: <20210715182748.GU74365@kduck.mit.edu> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US X-Provags-ID: V03:K1:HIUrYv3Z5U+qjpIJFcn76vbA1m3ccJL1jDqaJSoFls8bSimXhUi LosTC+c8C+xhAfkGYhJQCu1jW0WKuExaF4WDFsMGeMye70+TspUURhFV+i+kuxv4eyiMz2w rXIEYz5os7NtnCUR/qYIaMTwb0JwarHOxz8c70A4gnpMstuNJFFPsWeNuGjF18/q0icNtqc cJf0hptuWCbPsypdm1TWA== X-UI-Out-Filterresults: notjunk:1;V03:K0:cTVCs8ixBbc=:q7QxaS3PlUfFdJIA/kSM8+ IiweZUDMJhcNgiCnm+G0ey6A/wEa0gW5nzLw/QGxPZExD9RrX89cWwJgaf6WrkqxzZN2IHe1/ kyKxmfuJWxpX3cXRW58QKeybKEjmMJqk077bhFZ3ThF6lzZRe6fzv7ugwwylOjjVa+2j5SUVX wkCCvmsLHGoMs3tz808HF/Y7ZNqAPj4SXWmPXJeN3ot23o4c7g1Q8WOQPPOqlp+XbQF9xgAdL 4mHpTdS5fUYGQSUzwxE4D5ONfd84aNo+dR6A71PUiTa9xgZi92iQhbpS3g0QlSjVQ1DH++tvq gZq2qKBmJ5D5kwZ3PjYYrErtICFaUz7AO7b6LsjmkpEkEl2HJoJ/4j780dFyoWwlaHMOpoOHP FULW0+Ep+TsQ8WOCcz6zwpUlvlDvaC6Y+M3kb5rkXSpTnVkEO5+mCJKSwsw57YCid2jHtg+Pg 2p9vHdbbxRbC7wxQ3FZbrKl/nbUZAXgy51zmR1NCrohgA3j1kAkBhSA8ZWRUZW/16BvSKLswJ 6VRAInbJH/YtfZfh1VfPpBp8+B71tkB2MvBADxxzTjIm3qF06bcy0W8m2LuKKznbch64XhGNK vn1plQDVONt8W6JPCzVUWxmj56gosw6VzNQJ6xQeNdBJx1vPr26oAaYK1LQ4R48TBsMWZfUIW IbWZDrbD4WI1EgRvozSfvUuXLzhocpr8fjRB6RcHlgUZ/EC7M+ERyuQF98rO7318LHGsERNT5 sULf2mPzaqrI4vWZwFsO2U0+eJN2P+FVaTfF80dfViLjQsFYUt1Lw27MNyM5Lf+ILRnzj22Kr 2ZvymMmae4Ze2hMMn4hFexBeE0AnLlwMl0Je3wmj/tHlMaOi6BXyoCpCuQ/9WZSZ4XcMled Archived-At: Subject: Re: [netmod] Benjamin Kaduk's No Objection on draft-ietf-netmod-nmda-diff-09: (with COMMENT) X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2021 19:07:49 -0000 Hello Benjamin, thank you for your review. Two quick additional responses inline, Kind regards --- Alex On 7/15/2021 11:27 AM, Benjamin Kaduk wrote: > Hi Andy, > > On Mon, Jul 12, 2021 at 03:42:30PM -0700, Andy Bierman wrote: >> On Thu, Jul 8, 2021 at 2:45 PM Benjamin Kaduk via Datatracker < >> noreply@ietf.org> wrote: >> >>> Benjamin Kaduk has entered the following ballot position for >>> draft-ietf-netmod-nmda-diff-09: No Objection >>> >>> When responding, please keep the subject line intact and reply to all >>> email addresses included in the To and CC lines. (Feel free to cut this >>> introductory paragraph, however.) >>> >>> >>> Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html >>> for more information about DISCUSS and COMMENT positions. >>> >>> >>> The document, along with other ballot positions, can be found here: >>> https://datatracker.ietf.org/doc/draft-ietf-netmod-nmda-diff/ >>> >>> >>> >>> ---------------------------------------------------------------------- >>> COMMENT: >>> ---------------------------------------------------------------------- >>> >>> Thanks to Alexey Melnikov for the secdir review. >>> >>> I'm not experienced enough with YANG to know whether or how problematic >>> it is that the "anydata subtree-filter" node contents are described by >>> reference to the NETCONF specification, which has a particular (XML) >>> representation of YANG data and does not give a clear presentation of >>> the abstract YANG structure/semantics to be used. Is it possible to use >>> the filter-spec choice option when, for example, RESTCONF is used with >>> JSON encoding? >>> >>> >> There is not a standard specification for subtree filtering using JSON >> encoding >> instead of XML. RESTCONF has its own somewhat compatible filtering >> mechanism. >> It would require a new NETCONF work item to officially expand subtree >> filtering >> to support JSON. (Unofficially, there is RFC for JSON encoding of YANG >> data and an >> implementation could map the RFC 6241 text to JSON). > Okay, this sounds a little familiar now that you mention it. > > Should we mention in a comment of some form that this filtering mechanism > is currently only usable with the XML encoding? Since we are not defining a new filtering mechanism here, just making use of what has been defined, presumably the references in the YANG spec should be sufficient. While the limitations you state are correct, those lie in the nature of the current filtering state-of-the-art and not specific to the specification here. it is well possible that JSON filtering might be standardized in the future, in which case such filter would equally apply / be accommodated.  So, I am not sure that commenting on the current state in filter standardization would be helpful and prefer to keep the text as is.   >> >>> Section 4 >>> >>> o report-origin: When set, this parameter indicates that origin >>> metadata should be included as part of RPC output. When this >>> parameter is omitted, origin metadata in comparisons that involve >>> is by default omitted. >>> >>> Why is it important to complicate the semantics of this parameter with a >>> dependence on the datastore? It seems like it would be simpler to get >>> this effect by having clients specify report-origin when the target is >>> not . Note that changing the semantics would require text >>> changes in subsequent parts of the document for consistency. (If >>> retaining the current semantics, please clarify whether "comparisons >>> that involve " applies when operational is source, target, >>> or either.) >>> >>> >> IMO NMDA is way too complicated, so I cannot argue with that complaint. >> The origin attribute only applies to the datastore. >> I think it is not allowed to appear elsewhere. > Ah, I see what you are saying now (on second read): the "origin" being > reported is the origin attribute of the data in the datastore being > compared, but only the datastore will every have that > attribute available. The text here would be a lot more clear if it > reminded the reader that the origin attribute has such a limited scope, > perhaps: > > o report-origin: data in the datastore has an associated > "origin" attribute that indicates the origin of the reported value. When > set, this parameter indicates that the origin metadata should be included > as part of the RPC output. It has no effect when the target datastore is > anything other than . When this parameter is omitted, the > origin metadata is omitted from the RPC output. I think this is clearly explained in the bullet item:  "Note that origin metadata only applies to ; it is therefore also omitted in comparisons that do not involve ; regardless of whether or not the parameter is set. Adding the first sentence would seem a bit redundant.  >> Section 9 >>> In addition to noting that the "compare" RPC is sensitive and should be >>> restricted to authorized parties, I suggest to reiterate that the >>> "compare" operation should not provide a mechanism to work around access >>> control on other nodes -- that is, a result should only be returned if >>> the requestor would be allowed to access both the "source" and "target" >>> trees independently of the RPC. In particular, even a "no-matches" >>> output should not be returned, as that might provide a way to determine >>> the structure of the datastore even without accessing it. >>> >> Fortunately the access control model (NACM) is per server and not per >> datastore >> so the same access rules apply to all datastores. I agree the no-access >> subtrees >> should be silently skipped, the same way that GET operations are treated in >> NACM. > Ah, okay. (I think Roman may have mentioned a similar concern about > no-access subtrees, too.) > > Thanks, > > Ben > >> >>> We might also incorporate by reference the security considerations for >>> subtree filtering (RFC 6241) and xpath filtering (RFC 6991). >>> >>> NITS >>> >>> Section 1 >>> >>> an unusually long time to do so. This can be the case due to certain >>> conditions not being met, certain parts of the configuration not >>> propagating because considered inactive, resource dependencies not >>> being resolved, or even implementation errors in corner conditions. >>> >>> "because considered inactive" seems like an incomplete clause; maybe >>> "because they are considered inactive"? >>> >>> Section 4 >>> >>> o differences: This parameter contains the list of differences. >>> Those differences are encoded per YANG-Patch data model defined in >>> >>> s/YANG-Patch/the YANG-Patch/ >>> I'd also consider s/per/according to/, since this is not exactly a >>> logic-driven deduction but rather more of a new requirement. >>> >>> Section 6 >>> >>> for the management of interfaces defined in [RFC8343]. The excerpt >>> of the data model whose instantiation is the basis of the comparison >>> is as follows: >>> >>> I feel like this phrasing is a little misleading, as not only is the >>> following snippet only a subset of the nodes contained within "container >>> interfaces" but the descriptions have been greatly abbreviated as well. >>> Perhaps we could say something about "for the purposes of understanding >>> the subsequent example, the following subset of the [RFC8343] data model >>> is provided". >>> >>> Accept: application/yang-d >>> >>> (I believe this truncated header field was already noted by another >>> reviewer.) >>> >>> >> Andy From nobody Fri Aug 6 13:31:35 2021 Return-Path: X-Original-To: netmod@ietf.org Delivered-To: netmod@ietfa.amsl.com Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 2AED83A15DE; Fri, 6 Aug 2021 13:31:32 -0700 (PDT) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit From: internet-drafts@ietf.org To: Cc: netmod@ietf.org X-Test-IDTracker: no X-IETF-IDTracker: 7.36.0 Auto-Submitted: auto-generated Precedence: bulk Reply-To: netmod@ietf.org Message-ID: <162828189211.15928.10244489690393448042@ietfa.amsl.com> Date: Fri, 06 Aug 2021 13:31:32 -0700 Archived-At: Subject: [netmod] I-D Action: draft-ietf-netmod-nmda-diff-12.txt X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2021 20:31:32 -0000 A New Internet-Draft is available from the on-line Internet-Drafts directories. This draft is a work item of the Network Modeling WG of the IETF. Title : Comparison of NMDA datastores Authors : Alexander Clemm Yingzhen Qu Jeff Tantsura Andy Bierman Filename : draft-ietf-netmod-nmda-diff-12.txt Pages : 19 Date : 2021-08-06 Abstract: This document defines an RPC operation to compare management datastores that comply with the NMDA architecture. The IETF datatracker status page for this draft is: https://datatracker.ietf.org/doc/draft-ietf-netmod-nmda-diff/ There is also an htmlized version available at: https://datatracker.ietf.org/doc/html/draft-ietf-netmod-nmda-diff-12 A diff from the previous version is available at: https://www.ietf.org/rfcdiff?url2=draft-ietf-netmod-nmda-diff-12 Internet-Drafts are also available by anonymous FTP at: ftp://ftp.ietf.org/internet-drafts/ From nobody Mon Aug 9 14:51:54 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D0B2A3A1A33 for ; Mon, 9 Aug 2021 14:51:51 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.352 X-Spam-Level: X-Spam-Status: No, score=-2.352 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.452, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ynPRKiXvfHWE for ; Mon, 9 Aug 2021 14:51:45 -0700 (PDT) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2114.outbound.protection.outlook.com [40.107.237.114]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6C09D3A1A2E for ; Mon, 9 Aug 2021 14:51:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h4sa++qQOKPBo7vDRwAGksikEPUjzz0oX9ki7OKd0N+dlFYElDZ4NVWZKao83cJPf3AnQTGzbEP2LlKR7FbFNgkqggAkgXF8QK3qtwBxtM/PjY6EOUa5WwMrFPxRMLrBhOZTflCPGjo7danwlXqbBizj7h4Q8gBYOAZ9l1jCG+DSDYfHDYcNjehajMXiqZNcV9B3STAjE/sGBhdJosaZqkOYo2X0ttCHy2iGrKl+AE+3Im8hc008TdRgtmLla/Hz53udSeEyD37ZgLaQzgtZPw3vZUaEJIUWS0J/C3JIz7k1Pt3psq5pxhFd3Fdpw3W1R4en6+cGjzgMZtHiYFnsSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JlK3qMWOkEA8ikuRLKgAtZOXzYAuehTG2tMmDZkjNIY=; b=bqm4GjaAn/O3v+V8jfZvFdkLPcuCCskOqoexi6ts7yODXk37FGvLmwA6OMqJdW3YR3Hmkv+emhBVOZKEogsFlsbnoM4cEjMzczh6rQWYk6z/jnXmsS6wEHmBH4YJ1dgc3Eb1q0k2X4eUeqKSle+C9A71Mrpthbz9RVzjhiVE0iDLZ1lz22qIhYwXqTlF8K1Q95uSfq2JtCu4SRs0+4K0WQiJNm/LELyXhL6iLfNSmPMdFZamLXsHEh1xHU2tP1fUy9H5yMlMX/Khmh5la0VntOj2Rbiz+bdlphP/IvvzE5ogS6UC6wJYLykBnT5cHxTimQAlstYtrz4pZqGa3s66/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JlK3qMWOkEA8ikuRLKgAtZOXzYAuehTG2tMmDZkjNIY=; b=TJheLLTjUW1fjlGvF3qY6K4WOlaC6zsyCYffOk/rPcuAaCVHe9a9zvT7DY+etw5i8fGkN/7m64P0u6XeICfdU5Pc6FXXY1pt/z73m+n0mYaOcCSPPElvIpiJYlJcx8BGu6L4FIVd4QzIlfsvA12c+cFNIe7D5uphTHvfnkxJxoo= Received: from BN7PR08MB5073.namprd08.prod.outlook.com (2603:10b6:408:28::30) by BN3PR0801MB2339.namprd08.prod.outlook.com (2a01:111:e400:7bb2::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Mon, 9 Aug 2021 21:51:42 +0000 Received: from BN7PR08MB5073.namprd08.prod.outlook.com ([fe80::68f7:304e:8786:ead2]) by BN7PR08MB5073.namprd08.prod.outlook.com ([fe80::68f7:304e:8786:ead2%4]) with mapi id 15.20.4394.023; Mon, 9 Aug 2021 21:51:42 +0000 From: "Sterne, Jason (Nokia - CA/Ottawa)" To: Andy Bierman , Juergen Schoenwaelder , Kent Watsen , NetMod WG Thread-Topic: [netmod] system configuration sync mechanism Thread-Index: AQHXiTj1ANBqfgbXY0OJQ2APDweat6truCeg Date: Mon, 9 Aug 2021 21:51:42 +0000 Message-ID: References: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@email.amazonses.com> <20210804133956.p73si5f63t4esmcj@anna.jacobs.jacobs-university.de> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: yumaworks.com; dkim=none (message not signed) header.d=none;yumaworks.com; dmarc=none action=none header.from=nokia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e9fa9002-ca9e-4e55-398a-08d95b7fe008 x-ms-traffictypediagnostic: BN3PR0801MB2339: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6uTf/yPmVm1HPKmDF7aD0uTvWgdwGvQEg1dMS2g5rJ8lXrwLfGqEF5PZ3Z/u+AQ8hya4cSZNpYMbkB8Y+UyzU6W/Gt15wSQmjpZeIkwCTjFedVCvMYlTLAlszvlsZRh8xyf3pKt1dBUnxe8H1e+GfjCgTDQNWTXCikMtFKvP065KLcwypVy6KeDh/0ulo5OKUxou37Y1bl0bhm0FsnCek8GkyCRN8m7leP72S4vMJ4yDfmvDvVuCXiGcoNMCr+Y0MgGYn5PPIJOrgSq8Z9lFNx6K/S1jfdcLD4i4h96tt4DlrCtnUIrJdykPqscQ0eUkbI9wAfQaMaahW/vEmxZC3/QXKgg3FWcgqzLa4hnfZvdKlKDlBGe2OTo6+vO6GuKx/viyChQrUIH2zH/nYsCoLQnwFanBUwSqfbcv/W5LKvx7bEL8sl27WZr6XLElqi4SRLdo1kJyAr969YYnQZgTNg5IMge6pTyqeYdfX/Q0g+DoJFi7V9SB+2tDixhyJeDAsLfRUv9Uou+XIH4sT98TprlW+oSTR9ABE6iExkAnTSMKpRKzvXdNuX7w990ZZKzUAyotCkjXsQxU0eHfUEVVNFKkvRvBL1olw+7q1k6fGUiP1EGg/Sc9FlYAIVdgzSQH/S9Xx4tBlBj+vcBqCAENRmywwxEhe+x9BB6VWJMXPUIRSkBZy2k5PKIl6BEQsEi1IeKhJqg7IIPRxjAjG4JV/nRgVkqKym1oX0Or7NoHtDQvgXQWPOzxBgwxjlv367fG8gR613f31H/HaOpQuo5MH1MaDUw5zpPKCGW0u0u7iuU4adn4v91Typv/crQzlWohCjZnhQ6UKitji5LtxvaENg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN7PR08MB5073.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(8936002)(186003)(316002)(110136005)(76116006)(66946007)(55016002)(8676002)(5660300002)(9686003)(66476007)(66556008)(64756008)(53546011)(6506007)(2906002)(66446008)(26005)(52536014)(83380400001)(33656002)(966005)(66574015)(86362001)(38070700005)(508600001)(38100700002)(7696005)(166002)(71200400001)(122000001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V3FaYm03aHZyUFF0eXIxYXBsbUNGVHJZVUdiUTBMeW1DSll2VEhvRFBjR1Ey?= =?utf-8?B?VVE0bUpQZXYxeS9OTk04OHNGaUF6TmFReVhVbUF2U2hmUHlxSlFYc2NkTnl2?= =?utf-8?B?cHllMEZ1Yy9zMDBpQ2VaQm1hRHhDdEdwdml5UnV3TjdsOS94LzVLaEF2dlhx?= =?utf-8?B?UWVFQnRuNWdmSnJIYjZ3a0IvTVhsMGFWZi9OR0pWbGN3bXF2akpTYmpYMmhr?= =?utf-8?B?Q2pTbmdxb2QybnNhUkRWT2laVHQrZmdkL3JPK01xU2xWYmN1WkpuYXkwcERm?= =?utf-8?B?YVh4RGdnUnlvL3h3NmZRcURVM0RPbEJBQm4rSjBPZ0FNblhXV2E5VG5GUENu?= =?utf-8?B?OXZkaWdocDRUblBBV1VSejc3UTgvSFRUOXNrVGlkbllZM1F1bVJBMzBzcGNV?= =?utf-8?B?ZmNCL1hqZWl1Z1dlaFloY1pTVGxTNG9CK2NZYU4rRXl5cUJjTmZxbFhzN1NR?= =?utf-8?B?OUhyVkJ4aklJbnk2Ly95dTlyOGRvZHFQZWFmenBvMHZSQTJlUEJzUWFNOGV2?= =?utf-8?B?VDNuOFRJLzRiaDZIMGk0WWZ6V1VKa0Y0RUNUVWdEYmduci9RKzN5cVlpZ01L?= =?utf-8?B?OE85dk8xR2pLNFI4NDhqa1pIV3pIWFFWUGNCanhhZEh2T2I3RERsOG1oRUFw?= =?utf-8?B?ejRwZFR4SnI0dkhtcG5TbHE4STJIN2NwckJDZWRnV1RFTndueTFDVlNtR1kz?= =?utf-8?B?aGo3b0x6TW5qVENUYXdMc0EydWFXRG5ZaG82am8yU2VvOWl4NzFJVzJ6Witv?= =?utf-8?B?WTVXN2M0M09pUk9yU3ZudjZZaGRaMHJBMDg1YXljQVEzQjIxV2J3U1pXSDZo?= =?utf-8?B?aUY3b3dFWm9JV1ZuNXlINzIwUHVWODZLVXVtZzZBeUhDOGNzVjRwOFYxa25L?= =?utf-8?B?QmR4WWIvZEdicENVVHQwZ0hWZXNvWGpyb2o5WEFkVzFrK1BEQUIzN1FkcE5h?= =?utf-8?B?emJSUlRJejMzVVV0ZlUySUlxNXk0N20yaTZadEozTkNRbVZLYWlwcHppUXRW?= =?utf-8?B?NHEzemZDQ0pWWHJoNm5vRm1zTUtJc3J3QU9CSitPQW9sbkY4U0NaMjVJY2V5?= =?utf-8?B?K29TSmVlZytOOGlFZkdXVlhFaHFJbWxtUWNiU3pTZmtPeWlJNGMwcXFTNmhE?= =?utf-8?B?Sld1bVpzb1V0SHVZa3Vlc3hzczZVakthRDhIRUV3ZXJQaTgrdlJCaysyVFRR?= =?utf-8?B?TDI2SlNzdVBLRCt6V0dTdnFsb0JOZHFtYUo2ekdSNWx3Um1OUWo2ejhqbTNW?= =?utf-8?B?RW1iQkJ2alJOVEl3YlVnaTh2QU05b1h5TXlKdVFmdTUyYUF4bGNIRVRmRVN1?= =?utf-8?B?cGF3RE9iTTFYdGxsQytjWjEyYldBdStESjFONnF1NGp2SFNNMUhsdFFheHlr?= =?utf-8?B?dU5aQ2FIM3hxTUorWng0aGpZUWRLL0ZzYkhLNjkzbldkT1RtRTRZa3VNMTR2?= =?utf-8?B?azU0a29nVVZmaUlEKzFBdmZzT1ZJZEZWeEpBNGx5NXNRTy9vb2NUakxjc0pk?= =?utf-8?B?NFhFZE56K3d0Mm11cnhINU1VRFdKRVo0U0Q5RE1OVWljNjBrUmxYZXRoZmNv?= =?utf-8?B?TlExL0ZyS1ZKYURzQnZ0L0JnT3lreXlyaElNV3hNQlFadnlhbDhyTkg1NGs4?= =?utf-8?B?ZXNab29kK1g3T2I2R1pnWGtMbUVJVkJWcHRlTWtwU3REdE9YNkRTbXQ0VUwy?= =?utf-8?B?WXR5SWFBdzBMSGZ1KzFROWFHSHFBb2o4Y3VKRWR3dTA4aXJ3bWFWa0Z5enVN?= =?utf-8?Q?XcDEmRfwjo8L0ddH1/cxnxjiFX68Bk6Ps6llv6l?= x-ms-exchange-transport-forked: True Content-Type: multipart/alternative; boundary="_000_BN7PR08MB50739BBC55241126003EBC399BF69BN7PR08MB5073namp_" MIME-Version: 1.0 X-OriginatorOrg: nokia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN7PR08MB5073.namprd08.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e9fa9002-ca9e-4e55-398a-08d95b7fe008 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Aug 2021 21:51:42.5036 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GYL63kQwQCeqhZ0BbBZdcsBnpvgkN6QeucwWvenjbIiKXGCay4wRI0C6tJbXGsKMtRJESS88DXgFiISv9HJ02g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0801MB2339 Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Aug 2021 21:51:52 -0000 --_000_BN7PR08MB50739BBC55241126003EBC399BF69BN7PR08MB5073namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgZ3V5cywNCg0KSSdtIGxhdGUgdG8gdGhlIGdhbWUgb24gdGhpcyB0aHJlYWQgYnV0IEkgZGlk IHJlYWQgdGhyb3VnaCB0aGUgZW50aXJlIHRoaW5nICh3aGV3IC0gY2FuJ3QgcHJvbWlzZSBJIGFi c29yYmVkIGV2ZXJ5IG51YW5jZSB0aG91Z2gpLiBJIGFtIGZhbWlsaWFyIHdpdGggdGhpcyBpc3N1 ZS4gSSd2ZSBiZWVuIGRlYWxpbmcgd2l0aCBpdCBmcm9tIHRoZSBzZXJ2ZXIgaW1wbGVtZW50YXRp b24gc2lkZSAoc29tZSBjbGllbnRzICpkbyogY29tcGxhaW4gaWYgdGhlcmUgYXJlIHJlZmVyZW5j ZXMgdG8gbWlzc2luZyAic3lzdGVtIGNvbmZpZyIgbGlzdCBlbnRyaWVzKS4NCg0KT25lIG9mIHRo ZSBwcmV0dHkgZnVuZGFtZW50YWwgaXNzdWVzIElNTyBpcyB3aGV0aGVyIHdlIHdhbnQgZ29vZCBv bCcgc3RhbmRhcmQgPHJ1bm5pbmc+IHRvIGFsd2F5cyBiZSB2YWxpZCAoaW5jbHVkaW5nIGZvciBh biBvZmZsaW5lIGNsaWVudCBvciB0b29sIHRvIGJlIGFibGUgdG8gdmFsaWRhdGUgaW5zdGFuY2Ug ZGF0YSByZXRyaWV2ZWQgZnJvbSBhIHNlcnZlciBhZ2FpbnN0IHRoZSBZQU5HIG1vZGVscykuIEV2 ZW4gd2l0aG91dCB0aGlzICJzeXN0ZW0gY29uZmlnIiB0b3BpYywgd2UgYWxyZWFkeSBoYXZlIGEg bG9vbWluZyBwcm9ibGVtIHdpdGggY29uZmlnIHRlbXBsYXRlcyAmIGV4cGFuc2lvbi4gIFNlcnZl cnMgd2l0aCBZQU5HIG1vZGVscyB0aGF0IGRvY3VtZW50IGEgbG90IG9mIGNvbnN0cmFpbnRzIChl LmcuIGxlYWZyZWZzLCBtYW5kYXRvcnkgc3RhdGVtZW50cywgZXRjKSBhcmUgbW9yZSBsaWtlbHkg dG8gaGl0IHRoaXMgaXNzdWUgb2YgYW4gaW52YWxpZCBydW5uaW5nIGNvbmZpZyAob2ZmbGluZSku DQoNCkknbSBkb3VidGZ1bCB0aGF0IGl0IGlzIGVhc3kgZm9yIGEgY2xpZW50IHRvIGtub3cgaG93 IHRlbXBsYXRlcyBhcmUgZXhwYW5kZWQgZm9yIGFsbCBnaXZlbiBzZXJ2ZXJzLiBVbmxlc3MgdGhh dCBleHBhbnNpb24gaXMgZnVsbHkgc3RhbmRhcmRpemVkICh3aGljaCB3b3VsZCBiZSBjaGFsbGVu Z2luZyBnaXZlbiBtdWx0aXBsZSBkaWZmZXJlbnQgc2hpcHBpbmcgaW1wbGVtZW50YXRpb25zIGlu IHRoZSBpbmR1c3RyeSksIHRoZXJlIGNhbiBiZSBzb21lIHN1YnRsZSBjb3JuZXIgY2FzZXMgYW5k IGl0IGNhbiBiZSBjb21wbGV4IChtdWx0aXBsZSBsZXZlbHMgb2YgdGVtcGxhdGUgYXBwbGljYXRp b24sIGV4Y2x1c2lvbiBydWxlcywgZXRjKS4NCg0KSSBhZ3JlZSB0aGVyZSBjYW4gYmUgZHluYW1p Y2FsbHkgYWRkZWQgc3lzdGVtIGNvbmZpZyAoZS5nLiBjcmVhdGUgYSBuZXcgcW9zIHBvbGljeSwg YW5kIHNvbWUgcXVldWUgbGlzdCBlbnRyaWVzIGFyZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5z aWRlIHRoYXQgcG9saWN5KS4NCg0KTm90ZSB0aGF0IGNvbmZpZyBhZGRlZCBieSB0aGUgc3lzdGVt IGNvdWxkIGJlIGRlbGV0YWJsZSBvciBub24tZGVsZXRhYmxlLiBGb3IgZGVsZXRhYmxlIGl0ZW1z IHRoZXJlIHdlcmUgc29tZSBwcmV2aW91cyBkaXNjdXNzaW9ucyBhIGZldyB5ZWFycyBhZ28gdGhh dCB0aG9zZSBsaXN0IGVudHJpZXMgY291bGQgYmUgc2ltcGx5IGEgZGVmYXVsdCBjb25maWcgdGhh dCBpcyBwb3B1bGF0ZWQgaWYgdGhlIHN0YXJ0dXAgZGF0YXN0b3JlIGlzIGVtcHR5IGF0IGJvb3Qg dGltZS4NCg0KVGhlIHN5c3RlbSBjb25maWcgbGlzdCBlbnRyaWVzIGNvdWxkIGFsc28gaGF2ZSBs ZWFmcyB0aGF0IGFyZSBtb2RpZmlhYmxlIGFuZCBsZWFmcyB0aGF0IGFyZSBpbW11dGFibGUuIEZv ciB0aGUgbW9kaWZpYWJsZSBvYmplY3RzIEkgdGhpbmsgdGhpcyBpcyBiYXNpY2FsbHkgdGhlIHN5 c3RlbSBtZXJnaW5nIHRoZSBleHBsaWNpdCBjb25maWcgd2l0aCB0aGUgc3lzdGVtIGNvbmZpZyAo d2l0aCB0aGUgZXhwbGljaXQgdGFraW5nIHByZWNlZGVuY2UpLg0KDQpQZXJoYXBzIGEgbG90IG9m IHRoaXMgc3lzdGVtIGNvbmZpZyBpcyBhIGxlZ2FjeSBob2xkIG92ZXIgZnJvbSBodW1hbi1kcml2 ZW4gQ0xJcy4gRm9yIG1hY2hpbmUgaW50ZXJmYWNlcyBtYXliZSBpdCdzIHJlYXNvbmFibGUgdG8g aGF2ZSBjbGllbnRzIGV4cGxpY2l0bHkgZGVmaW5lIHRoZWlyIGNvbmZpZyAqaWYqIHRoZXkgbmVl ZCBvZmZsaW5lIHZhbGlkYXRpb24gb2YgPHJ1bm5pbmc+IHRvIHN1Y2NlZWQgKGkuZS4gYWxsb3cg Y2xpZW50cyB0byBleHBsaWNpdGx5IGNvbmZpZ3VyZSBhbnkgb2YgdGhlIHN5c3RlbSBjb25maWcg cG9saWNpZXMgdGhleSBhcmUgYWN0dWFsbHkgdXNpbmcgJiByZWZlcmVuY2luZykuICBJbiBtYW55 IGNhc2VzLCB1c2VycyB3YW50IHRoZSAibWFzdGVyIiB2aWV3IG9mIHRoZSBjb25maWcgdG8gbGl2 ZSB1cCBpbiB0aGUgY2xpZW50L09TUyBzaWRlIGFuZCBqdXN0IHB1c2ggaXQgZG93biB0byB0aGUg c2VydmVyICh3aXRob3V0IGhhdmluZyB0aGUgc2VydmVyIHRvdWNoIHRoZSBjb250ZW50cyBvZiB0 aGUgcnVubmluZywgaS5lLiBhIHJlYWQtYmFjayBzaG91bGQgcmV0dXJuIGlkZW50aWNhbGx5IHdo YXQgd2FzIHNlbnQpLg0KDQpJdCBtaWdodCBiZSBnb29kIHRvIHNldCB1cCBhIHZpcnR1YWwgaW50 ZXJpbSBvciBjYWxsIG9mIHNvbWUgc29ydCB0byBkaXNjdXNzIHRoaXMgb25lLiBJdCBpcyBwcmV0 dHkgY29tcGxleC4NCg0KSmFzb24NCg0KDQpGcm9tOiBuZXRtb2QgPG5ldG1vZC1ib3VuY2VzQGll dGYub3JnPiBPbiBCZWhhbGYgT2YgQW5keSBCaWVybWFuDQpTZW50OiBXZWRuZXNkYXksIEF1Z3Vz dCA0LCAyMDIxIDk6NTkgQU0NClRvOiBKdWVyZ2VuIFNjaG9lbndhZWxkZXIgPGouc2Nob2Vud2Fl bGRlckBqYWNvYnMtdW5pdmVyc2l0eS5kZT47IEtlbnQgV2F0c2VuIDxrZW50QHdhdHNlbi5uZXQ+ OyBBbmR5IEJpZXJtYW4gPGFuZHlAeXVtYXdvcmtzLmNvbT47IE5ldE1vZCBXRyA8bmV0bW9kQGll dGYub3JnPg0KU3ViamVjdDogUmU6IFtuZXRtb2RdIHN5c3RlbSBjb25maWd1cmF0aW9uIHN5bmMg bWVjaGFuaXNtDQoNCg0KDQpPbiBXZWQsIEF1ZyA0LCAyMDIxIGF0IDY6MzkgQU0gSsO8cmdlbiBT Y2jDtm53w6RsZGVyIDxqLnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU8bWFpbHRv Omouc2Nob2Vud2FlbGRlckBqYWNvYnMtdW5pdmVyc2l0eS5kZT4+IHdyb3RlOg0KVGhlIGZpZ3Vy ZSBpbiBSRkMgODM0MiBzZWN0aW9uIDUgZG9jdW1lbnRzIHdoYXQgd2FzIGFncmVlZCB1cG9uDQpi ZWZvcmUuIFN5c3RlbSBjb25maWd1cmF0aW9uIGZsb3dzIGludG8gPG9wZXJhdGlvbmFsPiBidXQg bm90IHVwd2FyZHMNCmludG8gPHJ1bm5pbmc+LiBPdmVyIHRoZSB5ZWFycywgd2UgZGlzY3Vzc2Vk IHNldmVyYWwgY29ybmVyIGNhc2VzDQooaW5jbHVkaW5nIHRoaW5ncyBsaWtlIGNvbmZpZ3VyaW5n IGEgbmV3IHVzZXIgYW5kIHRoZSBzeXN0ZW0NCmF1dG9tYXRpY2FsbHkgYXNzaWducyBhbiB1bnVz ZWQgdWlkLCB3aGljaCBhZnRlcndhcmRzIG5lZWRzIHRvIGJlIGtlcHQNCnN0YWJsZSkuIFdoaWxl IHRoZXJlIGFyZSBmb3Igc3VyZSB0cmlja3kgY29ybmVyIGNhc2VzLCBJIGFtIG5vdA0KY29udmlu Y2VkIHRoYXQgdGhlIG1vZGVsIGRlZmluZWQgaW4gUkZDIDgzNDIgZm9yIHRoZSBnZW5lcmFsIGNh c2VzIGlzDQp3cm9uZyBhbmQgdGhhdCBtZXJnaW5nIGEgbmV3IHN5c3RlbSBkYXRhc3RvcmUgaW50 byA8cnVubmluZz4gaXMgdGhlDQpyaWdodCBhcHByb2FjaC4gSWYgcGVvcGxlIHdhbnQgdG8gY2hh bmdlIHRoZSBtb2RlbCBkb2N1bWVudGVkIGluIFJGQw0KODM0MiwgdGhlbiB0aGV5IHNob3VsZCBt YWtlIGFuIGV4cGxpY2l0IHN0YXRlbWVudCBhYm91dCB0aGlzIGFuZA0KcHJvdmlkZSBzdHJvbmcg cmVhc29ucyB0aGF0IHRoZSBtb2RlbCBpcyBmbGF3ZWQgb3IgaW5jb21wbGV0ZS4NCg0KTm90ZSB0 aGF0IHRoZSBtb2RlbCBkb2VzIGFsbG93IGhhdmluZyBhIHN5c3RlbSBjbGllbnQgbWVyZ2luZyBj b25maWcNCmludG8gPHJ1bm5pbmc+IChpZGVhbGx5IGNvbnRyb2xsZWQgYnkgYW4gQUNNIHNvIHRo YXQgc3VjaCBhIGNsaWVudCBjYW4NCmJlIHR1cm5lZCBvZmYgaWYgaXQgbGVhZHMgdG8gc3VycHJp c2VzKS4NCg0KDQpUaGlzIGlzIGEgc29sdmVkIHByb2JsZW0gaW4gcHJvcHJpZXRhcnkgd2F5cy4g IEl0IGlzIHNpbXBsZSB0byB0cmVhdCBzeXN0ZW0gY29uZmlnDQphcyBhbiBhY2Nlc3MgY29udHJv bCBpc3N1ZS4NCg0KSSBhbSBxdWl0ZSBjb25jZXJuZWQgdGhhdCBOTURBIGlzIGdldHRpbmcgZXh0 ZW5kZWQgaW4gd2F5cyB0aGF0IGxlYWQgdG8NCmNvbmZ1c2lvbiBhbmQgcG9vciBpbnRlcm9wZXJh YmlsaXR5LiAgQWRkaW5nIGEgbmV3IGRhdGFzdG9yZSBpcyB2ZXJ5IHNlcmlvdXMuDQpJTU8gQU5Z IG5ldyBkYXRhc3RvcmUgKGV2ZW4gZmFjdG9yeSBkZWZhdWx0KSBzaG91bGQgYmUgc3RhbmRhcmRp emVkIGluDQphIG5ldyB2ZXJzaW9uIG9mIE5NREEgKHJlcGxhY2luZyBSRkMgODM0MikuDQoNCkEg ZGF0YXN0b3JlIGhhcyBhIGxvdCBvZiBiYWdnYWdlDQogICAtIFlBTkcgbGlicmFyeQ0KICAgLSBZ QU5HIFhQYXRoIGV2YWx1YXRpb24NCiAgIC0gc3VidHJlZSBhbmQgWFBhdGggZmlsdGVyZWQgcmV0 cmlldmFsDQogICAtIHVzYWdlIGluIFJQQyBvcGVyYXRpb25zIChkczpkYXRhc3RvcmUgZGF0YSB0 eXBlIHBhcmFtZXRlcikNCg0KRXZlcnkgdGltZSBhIGRhdGFzdG9yZSBpcyBhZGRlZCwgYWxsIHRo ZSBleGlzdGluZyBSUEMgb3BlcmF0aW9ucyB0aGF0IHVzZQ0KZGF0YXN0b3JlcyBuZWVkIHRvIGJl IGNsYXJpZmllZCB3cnQvIHN1cHBvcnQgZm9yIHRoZSBuZXcgZGF0YXN0b3JlLg0KKE9mIGNvdXJz ZSB0aGlzIGlzIG5ldmVyIGRvbmUsIGxlYWRpbmcgdG8gbG90cyBvZiBpbnRlcm9wZXJhYmlsaXR5 IGlzc3VlcykNCg0KSSBhbSBxdWl0ZSBjb25mdXNlZCBieSB0aGUgWFBhdGggZGlzY3Vzc2lvbnMg YmVjYXVzZSBYUGF0aCBjYW4gb25seQ0KYWNjZXNzIGV4aXN0aW5nIG5vZGVzIChpLmUuIHRoZSAi YWNjZXNzaWJsZSB0cmVlIikNCmh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwv cmZjNzk1MCNzZWN0aW9uLTYuNC4xDQoNClNvIHdoYXQgZG9lcyBpdCBtZWFuIGZvciB0aGUgc3lz dGVtIGRhdGFzdG9yZSB0byBjb250YWluIHBvc3NpYmxlIHZhbHVlcyB0aGF0DQpjYW5ub3QgYmUg cmVwcmVzZW50ZWQgaW4gPG9wZXJhdGlvbmFsPj8gVGhlIGFjY2Vzc2libGUgdHJlZSBjYW5ub3Qg aW5jbHVkZQ0KdGhlc2UgdmFsdWVzLCBzbyBYUGF0aC1iYXNlZCB2YWxpZGF0aW9uIGNhbm5vdCB1 c2UgdGhlbS4NCg0KDQoNCi9qcw0KDQoNCkFuZHkNCg0KDQpPbiBXZWQsIEF1ZyAwNCwgMjAyMSBh dCAxMjozNDo0NVBNICswMDAwLCBLZW50IFdhdHNlbiB3cm90ZToNCj4NCj4gSSBhbSBjb25mdXNl ZCBieSB0aGUgY29uZnVzaW9uICA7KQ0KPg0KPiBZb3UgYWxsIGtub3cgdGhhdCBKVU5PUyBpbXBs ZW1lbnRlZCB0aGlzIGNvbmNlcHQgYmVmb3JlIFlBTkcgd2FzIGV2ZW4gYSB0aGluZywgcmlnaHQ/ DQo+DQo+IEFkbWl0dGVkbHksIGl04oCZcyBub3QgYSDigJxkYXRhc3RvcmXigJwsIGJ1dCBmbGV4 aW5nIHRoZSBOTURBIGlzIHdoZXJlIHdlIGNhbiBkbyBiZXR0ZXIuDQo+DQo+IEEg4oCcd2l0aC1z eXN0ZW3igJ0gbWVjaGFuaXNtIGNvdWxkIGFsc28gd29yay4gIFRoZSBvbmx5IGRvd25zaWRlIGlz IHRoZSBpbmFiaWxpdHkgZm9yIGEgY2xpZW50IHRvIGdldCBvbmx5IHRoZSBzeXN0ZW0gY29uZmln dXJhdGlvbiwgd2l0aG91dCB0aGUgcmVzdCBvZiA8cnVubmluZz4uDQo+DQo+IFBsZWFzZSBzdG9w IHN0YXRpbmcvc3VnZ2VzdGluZyDigJxjb25maWcgdHJ1ZeKAnSBub2RlcyBhcmUgcmVmZXJlbmNp bmcg4oCcY29uZmlnIGZhbHNl4oCdIG5vZGVzLCAgb3IgdGhhdCBjb25maWcgaXMgcmVmZXJlbmNp bmcgb3BlcmF0aW9uYWwgc3RhdGUuICBUaGVyZSBpcyBubyBpbnRlbnRpb24gdG8gYnJlYWsgZWl0 aGVyIG9mIHRoZXNlIHRlbmFudHMgaGVyZS4NCj4NCj4gSSB0aGluayB0aGF0IHNvbWUgZm9sa3Mg anVzdCBqb2luZWQgdGhlIGNvbnZlcnNhdGlvbiBhbmQgbWF5IGhhdmUgbWlzc2VkIG91dCB3aGVu IHdlIGNvdmVyZWQgYWxsIHRoaXMgYmVmb3JlLg0KPg0KPiBUaGUgZHJhZnQgbmVlZHMgdG8gYmUg dXBkYXRlZCB0byBtb3JlIGNsZWFybHkgaWRlbnRpZnkgdGhlIGdvYWxzLg0KPg0KPiBLLg0KPg0K Pg0KPg0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K PiBuZXRtb2QgbWFpbGluZyBsaXN0DQo+IG5ldG1vZEBpZXRmLm9yZzxtYWlsdG86bmV0bW9kQGll dGYub3JnPg0KPiBodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldG1vZA0K DQotLQ0KSnVlcmdlbiBTY2hvZW53YWVsZGVyICAgICAgICAgICBKYWNvYnMgVW5pdmVyc2l0eSBC cmVtZW4gZ0dtYkgNClBob25lOiArNDkgNDIxIDIwMCAzNTg3ICAgICAgICAgQ2FtcHVzIFJpbmcg MSB8IDI4NzU5IEJyZW1lbiB8IEdlcm1hbnkNCkZheDogICArNDkgNDIxIDIwMCAzMTAzICAgICAg ICAgPGh0dHBzOi8vd3d3LmphY29icy11bml2ZXJzaXR5LmRlLz4NCg== --_000_BN7PR08MB50739BBC55241126003EBC399BF69BN7PR08MB5073namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBjbTsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQt ZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsN Cgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9u OnVuZGVybGluZTt9DQpzcGFuLkVtYWlsU3R5bGUxOA0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25h bC1yZXBseTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgljb2xvcjp3aW5k b3d0ZXh0O30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0K CWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCW1zby1mYXJlYXN0LWxhbmd1YWdl OkVOLVVTO30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzkyLjBwdDsNCglt YXJnaW46NzIuMHB0IDcyLjBwdCA3Mi4wcHQgNzIuMHB0O30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7 cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4N CjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48 IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0 PSJlZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5 b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4tQ0EiIGxpbms9 ImJsdWUiIHZsaW5rPSJwdXJwbGUiIHN0eWxlPSJ3b3JkLXdyYXA6YnJlYWstd29yZCI+DQo8ZGl2 IGNsYXNzPSJXb3JkU2VjdGlvbjEiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9 Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5IaSBndXlzLDxvOnA+PC9vOnA+PC9zcGFuPjwv cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFn ZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5JJ20gbGF0ZSB0byB0 aGUgZ2FtZSBvbiB0aGlzIHRocmVhZCBidXQgSSBkaWQgcmVhZCB0aHJvdWdoIHRoZSBlbnRpcmUg dGhpbmcgKHdoZXcgLSBjYW4ndCBwcm9taXNlIEkgYWJzb3JiZWQgZXZlcnkgbnVhbmNlIHRob3Vn aCkuIEkgYW0gZmFtaWxpYXIgd2l0aCB0aGlzIGlzc3VlLiBJJ3ZlIGJlZW4gZGVhbGluZyB3aXRo IGl0IGZyb20gdGhlDQogc2VydmVyIGltcGxlbWVudGF0aW9uIHNpZGUgKHNvbWUgY2xpZW50cyAq PGI+ZG88L2I+KiBjb21wbGFpbiBpZiB0aGVyZSBhcmUgcmVmZXJlbmNlcyB0byBtaXNzaW5nICZx dW90O3N5c3RlbSBjb25maWcmcXVvdDsgbGlzdCBlbnRyaWVzKS48bzpwPjwvbzpwPjwvc3Bhbj48 L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3Vh Z2U6RU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+T25lIG9mIHRoZSBw cmV0dHkgZnVuZGFtZW50YWwgaXNzdWVzIElNTyBpcyB3aGV0aGVyIHdlIHdhbnQgZ29vZCBvbCcg c3RhbmRhcmQgJmx0O3J1bm5pbmcmZ3Q7IHRvIGFsd2F5cyBiZSB2YWxpZCAoaW5jbHVkaW5nIGZv ciBhbiBvZmZsaW5lIGNsaWVudCBvciB0b29sIHRvIGJlIGFibGUgdG8gdmFsaWRhdGUgaW5zdGFu Y2UgZGF0YSByZXRyaWV2ZWQNCiBmcm9tIGEgc2VydmVyIGFnYWluc3QgdGhlIFlBTkcgbW9kZWxz KS4gRXZlbiB3aXRob3V0IHRoaXMgJnF1b3Q7c3lzdGVtIGNvbmZpZyZxdW90OyB0b3BpYywgd2Ug YWxyZWFkeSBoYXZlIGEgbG9vbWluZyBwcm9ibGVtIHdpdGggY29uZmlnIHRlbXBsYXRlcyAmYW1w OyBleHBhbnNpb24uICZuYnNwO1NlcnZlcnMgd2l0aCBZQU5HIG1vZGVscyB0aGF0IGRvY3VtZW50 IGEgbG90IG9mIGNvbnN0cmFpbnRzIChlLmcuIGxlYWZyZWZzLCBtYW5kYXRvcnkgc3RhdGVtZW50 cywgZXRjKSBhcmUNCiBtb3JlIGxpa2VseSB0byBoaXQgdGhpcyBpc3N1ZSBvZiBhbiBpbnZhbGlk IHJ1bm5pbmcgY29uZmlnIChvZmZsaW5lKS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxv OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0 eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+SSdtIGRvdWJ0ZnVsIHRoYXQgaXQgaXMg ZWFzeSBmb3IgYSBjbGllbnQgdG8ga25vdyBob3cgdGVtcGxhdGVzIGFyZSBleHBhbmRlZCBmb3Ig YWxsIGdpdmVuIHNlcnZlcnMuIFVubGVzcyB0aGF0IGV4cGFuc2lvbiBpcyBmdWxseSBzdGFuZGFy ZGl6ZWQgKHdoaWNoIHdvdWxkIGJlIGNoYWxsZW5naW5nIGdpdmVuIG11bHRpcGxlIGRpZmZlcmVu dA0KIHNoaXBwaW5nIGltcGxlbWVudGF0aW9ucyBpbiB0aGUgaW5kdXN0cnkpLCB0aGVyZSBjYW4g YmUgc29tZSBzdWJ0bGUgY29ybmVyIGNhc2VzIGFuZCBpdCBjYW4gYmUgY29tcGxleCAobXVsdGlw bGUgbGV2ZWxzIG9mIHRlbXBsYXRlIGFwcGxpY2F0aW9uLCBleGNsdXNpb24gcnVsZXMsIGV0Yyku PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9 Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6 RU4tVVMiPkkgYWdyZWUgdGhlcmUgY2FuIGJlIGR5bmFtaWNhbGx5IGFkZGVkIHN5c3RlbSBjb25m aWcgKGUuZy4gY3JlYXRlIGEgbmV3IHFvcyBwb2xpY3ksIGFuZCBzb21lIHF1ZXVlIGxpc3QgZW50 cmllcyBhcmUgYXV0b21hdGljYWxseSBjcmVhdGVkIGluc2lkZSB0aGF0IHBvbGljeSkuPG86cD48 L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1m YXJlYXN0LWxhbmd1YWdlOkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMi Pk5vdGUgdGhhdCBjb25maWcgYWRkZWQgYnkgdGhlIHN5c3RlbSBjb3VsZCBiZSBkZWxldGFibGUg b3Igbm9uLWRlbGV0YWJsZS4gRm9yIGRlbGV0YWJsZSBpdGVtcyB0aGVyZSB3ZXJlIHNvbWUgcHJl dmlvdXMgZGlzY3Vzc2lvbnMgYSBmZXcgeWVhcnMgYWdvIHRoYXQgdGhvc2UgbGlzdCBlbnRyaWVz IGNvdWxkIGJlIHNpbXBseSBhIGRlZmF1bHQNCiBjb25maWcgdGhhdCBpcyBwb3B1bGF0ZWQgaWYg dGhlIHN0YXJ0dXAgZGF0YXN0b3JlIGlzIGVtcHR5IGF0IGJvb3QgdGltZS48bzpwPjwvbzpwPjwv c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3Qt bGFuZ3VhZ2U6RU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+VGhlIHN5 c3RlbSBjb25maWcgbGlzdCBlbnRyaWVzIGNvdWxkIGFsc28gaGF2ZSBsZWFmcyB0aGF0IGFyZSBt b2RpZmlhYmxlIGFuZCBsZWFmcyB0aGF0IGFyZSBpbW11dGFibGUuIEZvciB0aGUgbW9kaWZpYWJs ZSBvYmplY3RzIEkgdGhpbmsgdGhpcyBpcyBiYXNpY2FsbHkgdGhlIHN5c3RlbSBtZXJnaW5nIHRo ZSBleHBsaWNpdCBjb25maWcNCiB3aXRoIHRoZSBzeXN0ZW0gY29uZmlnICh3aXRoIHRoZSBleHBs aWNpdCB0YWtpbmcgcHJlY2VkZW5jZSkuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj48bzpw PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPlBlcmhhcHMgYSBsb3Qgb2YgdGhpcyBzeXN0 ZW0gY29uZmlnIGlzIGEgbGVnYWN5IGhvbGQgb3ZlciBmcm9tIGh1bWFuLWRyaXZlbiBDTElzLiBG b3IgbWFjaGluZSBpbnRlcmZhY2VzIG1heWJlIGl0J3MgcmVhc29uYWJsZSB0byBoYXZlIGNsaWVu dHMgZXhwbGljaXRseSBkZWZpbmUgdGhlaXIgY29uZmlnICo8Yj5pZjwvYj4qIHRoZXkgbmVlZA0K IG9mZmxpbmUgdmFsaWRhdGlvbiBvZiAmbHQ7cnVubmluZyZndDsgdG8gc3VjY2VlZCAoaS5lLiBh bGxvdyBjbGllbnRzIHRvIGV4cGxpY2l0bHkgY29uZmlndXJlIGFueSBvZiB0aGUgc3lzdGVtIGNv bmZpZyBwb2xpY2llcyB0aGV5IGFyZSBhY3R1YWxseSB1c2luZyAmYW1wOyByZWZlcmVuY2luZyku Jm5ic3A7IEluIG1hbnkgY2FzZXMsIHVzZXJzIHdhbnQgdGhlICZxdW90O21hc3RlciZxdW90OyB2 aWV3IG9mIHRoZSBjb25maWcgdG8gbGl2ZSB1cCBpbiB0aGUgY2xpZW50L09TUyBzaWRlIGFuZA0K IGp1c3QgcHVzaCBpdCBkb3duIHRvIHRoZSBzZXJ2ZXIgKHdpdGhvdXQgaGF2aW5nIHRoZSBzZXJ2 ZXIgdG91Y2ggdGhlIGNvbnRlbnRzIG9mIHRoZSBydW5uaW5nLCBpLmUuIGEgcmVhZC1iYWNrIHNo b3VsZCByZXR1cm4gaWRlbnRpY2FsbHkgd2hhdCB3YXMgc2VudCkuPG86cD48L286cD48L3NwYW4+ PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1 YWdlOkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPkl0IG1pZ2h0IGJl IGdvb2QgdG8gc2V0IHVwIGEgdmlydHVhbCBpbnRlcmltIG9yIGNhbGwgb2Ygc29tZSBzb3J0IHRv IGRpc2N1c3MgdGhpcyBvbmUuIEl0IGlzIHByZXR0eSBjb21wbGV4LjxvOnA+PC9vOnA+PC9zcGFu PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5n dWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v cm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5KYXNvbjxvOnA+ PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28t ZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVT Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTti b3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNC4wcHQiPg0K PGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAx LjBwdDtwYWRkaW5nOjMuMHB0IDBjbSAwY20gMGNtIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxi PjxzcGFuIGxhbmc9IkVOLVVTIj5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiPiBu ZXRtb2QgJmx0O25ldG1vZC1ib3VuY2VzQGlldGYub3JnJmd0Ow0KPGI+T24gQmVoYWxmIE9mIDwv Yj5BbmR5IEJpZXJtYW48YnI+DQo8Yj5TZW50OjwvYj4gV2VkbmVzZGF5LCBBdWd1c3QgNCwgMjAy MSA5OjU5IEFNPGJyPg0KPGI+VG86PC9iPiBKdWVyZ2VuIFNjaG9lbndhZWxkZXIgJmx0O2ouc2No b2Vud2FlbGRlckBqYWNvYnMtdW5pdmVyc2l0eS5kZSZndDs7IEtlbnQgV2F0c2VuICZsdDtrZW50 QHdhdHNlbi5uZXQmZ3Q7OyBBbmR5IEJpZXJtYW4gJmx0O2FuZHlAeXVtYXdvcmtzLmNvbSZndDs7 IE5ldE1vZCBXRyAmbHQ7bmV0bW9kQGlldGYub3JnJmd0Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiBS ZTogW25ldG1vZF0gc3lzdGVtIGNvbmZpZ3VyYXRpb24gc3luYyBtZWNoYW5pc208bzpwPjwvbzpw Pjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m bmJzcDs8L286cD48L3A+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+ Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNw OzwvbzpwPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+T24gV2VkLCBB dWcgNCwgMjAyMSBhdCA2OjM5IEFNIErDvHJnZW4gU2Now7Zud8OkbGRlciAmbHQ7PGEgaHJlZj0i bWFpbHRvOmouc2Nob2Vud2FlbGRlckBqYWNvYnMtdW5pdmVyc2l0eS5kZSI+ai5zY2hvZW53YWVs ZGVyQGphY29icy11bml2ZXJzaXR5LmRlPC9hPiZndDsgd3JvdGU6PG86cD48L286cD48L3A+DQo8 L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAj Q0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7 bWFyZ2luLXJpZ2h0OjBjbSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGUgZmlndXJlIGluIFJG QyA4MzQyIHNlY3Rpb24gNSBkb2N1bWVudHMgd2hhdCB3YXMgYWdyZWVkIHVwb248YnI+DQpiZWZv cmUuIFN5c3RlbSBjb25maWd1cmF0aW9uIGZsb3dzIGludG8gJmx0O29wZXJhdGlvbmFsJmd0OyBi dXQgbm90IHVwd2FyZHM8YnI+DQppbnRvICZsdDtydW5uaW5nJmd0Oy4gT3ZlciB0aGUgeWVhcnMs IHdlIGRpc2N1c3NlZCBzZXZlcmFsIGNvcm5lciBjYXNlczxicj4NCihpbmNsdWRpbmcgdGhpbmdz IGxpa2UgY29uZmlndXJpbmcgYSBuZXcgdXNlciBhbmQgdGhlIHN5c3RlbTxicj4NCmF1dG9tYXRp Y2FsbHkgYXNzaWducyBhbiB1bnVzZWQgdWlkLCB3aGljaCBhZnRlcndhcmRzIG5lZWRzIHRvIGJl IGtlcHQ8YnI+DQpzdGFibGUpLiBXaGlsZSB0aGVyZSBhcmUgZm9yIHN1cmUgdHJpY2t5IGNvcm5l ciBjYXNlcywgSSBhbSBub3Q8YnI+DQpjb252aW5jZWQgdGhhdCB0aGUgbW9kZWwgZGVmaW5lZCBp biBSRkMgODM0MiBmb3IgdGhlIGdlbmVyYWwgY2FzZXMgaXM8YnI+DQp3cm9uZyBhbmQgdGhhdCBt ZXJnaW5nIGEgbmV3IHN5c3RlbSBkYXRhc3RvcmUgaW50byAmbHQ7cnVubmluZyZndDsgaXMgdGhl PGJyPg0KcmlnaHQgYXBwcm9hY2guIElmIHBlb3BsZSB3YW50IHRvIGNoYW5nZSB0aGUgbW9kZWwg ZG9jdW1lbnRlZCBpbiBSRkM8YnI+DQo4MzQyLCB0aGVuIHRoZXkgc2hvdWxkIG1ha2UgYW4gZXhw bGljaXQgc3RhdGVtZW50IGFib3V0IHRoaXMgYW5kPGJyPg0KcHJvdmlkZSBzdHJvbmcgcmVhc29u cyB0aGF0IHRoZSBtb2RlbCBpcyBmbGF3ZWQgb3IgaW5jb21wbGV0ZS48YnI+DQo8YnI+DQpOb3Rl IHRoYXQgdGhlIG1vZGVsIGRvZXMgYWxsb3cgaGF2aW5nIGEgc3lzdGVtIGNsaWVudCBtZXJnaW5n IGNvbmZpZzxicj4NCmludG8gJmx0O3J1bm5pbmcmZ3Q7IChpZGVhbGx5IGNvbnRyb2xsZWQgYnkg YW4gQUNNIHNvIHRoYXQgc3VjaCBhIGNsaWVudCBjYW48YnI+DQpiZSB0dXJuZWQgb2ZmIGlmIGl0 IGxlYWRzIHRvIHN1cnByaXNlcykuPG86cD48L286cD48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxk aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0K PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoaXMgaXMgYSBzb2x2ZWQgcHJvYmxlbSBpbiBw cm9wcmlldGFyeSB3YXlzLiZuYnNwOyBJdCBpcyBzaW1wbGUgdG8gdHJlYXQgc3lzdGVtIGNvbmZp ZzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+YXMg YW4gYWNjZXNzIGNvbnRyb2wgaXNzdWUuJm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxk aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0K PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkkgYW0gcXVpdGUgY29uY2VybmVkIHRoYXQgTk1E QSBpcyBnZXR0aW5nIGV4dGVuZGVkIGluIHdheXMgdGhhdCBsZWFkIHRvPG86cD48L286cD48L3A+ DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5jb25mdXNpb24gYW5kIHBvb3Ig aW50ZXJvcGVyYWJpbGl0eS4mbmJzcDsgQWRkaW5nIGEgbmV3IGRhdGFzdG9yZSBpcyB2ZXJ5IHNl cmlvdXMuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij5JTU8gQU5ZIG5ldyBkYXRhc3RvcmUgKGV2ZW4gZmFjdG9yeSBkZWZhdWx0KSBzaG91bGQgYmUg c3RhbmRhcmRpemVkIGluPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj5hIG5ldyB2ZXJzaW9uIG9mIE5NREEgKHJlcGxhY2luZyBSRkMgODM0MikuPG86 cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZu YnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkEgZGF0 YXN0b3JlIGhhcyBhIGxvdCBvZiBiYWdnYWdlPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDsgJm5ic3A7LSBZQU5HIGxpYnJhcnk8bzpwPjwv bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyAmbmJz cDstIFlBTkcgWFBhdGggZXZhbHVhdGlvbjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7ICZuYnNwOy0gc3VidHJlZSBhbmQgWFBhdGggZmls dGVyZWQgcmV0cmlldmFsPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj4mbmJzcDsgJm5ic3A7LSB1c2FnZSBpbiBSUEMgb3BlcmF0aW9ucyAoZHM6ZGF0 YXN0b3JlIGRhdGEgdHlwZSBwYXJhbWV0ZXIpPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRp dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkV2ZXJ5IHRpbWUgYSBkYXRhc3RvcmUgaXMgYWRkZWQs IGFsbCB0aGUgZXhpc3RpbmcgUlBDIG9wZXJhdGlvbnMgdGhhdCB1c2U8bzpwPjwvbzpwPjwvcD4N CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPmRhdGFzdG9yZXMgbmVlZCB0byBi ZSBjbGFyaWZpZWQgd3J0LyBzdXBwb3J0IGZvciB0aGUgbmV3IGRhdGFzdG9yZS48bzpwPjwvbzpw PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPihPZiBjb3Vyc2UgdGhp cyBpcyBuZXZlciBkb25lLCBsZWFkaW5nIHRvIGxvdHMgb2YgaW50ZXJvcGVyYWJpbGl0eSBpc3N1 ZXMpPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi PkkgYW0gcXVpdGUgY29uZnVzZWQgYnkgdGhlIFhQYXRoIGRpc2N1c3Npb25zIGJlY2F1c2UgWFBh dGggY2FuIG9ubHk8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O b3JtYWwiPmFjY2VzcyBleGlzdGluZyBub2RlcyAoaS5lLiB0aGUgJnF1b3Q7YWNjZXNzaWJsZSB0 cmVlJnF1b3Q7KTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v cm1hbCI+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM3 OTUwI3NlY3Rpb24tNi40LjEiPmh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwv cmZjNzk1MCNzZWN0aW9uLTYuNC4xPC9hPjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5TbyB3aGF0IGRvZXMgaXQgbWVhbiBmb3IgdGhlIHN5c3Rl bSBkYXRhc3RvcmUgdG8gY29udGFpbiBwb3NzaWJsZSB2YWx1ZXMgdGhhdDxvOnA+PC9vOnA+PC9w Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Y2Fubm90IGJlIHJlcHJlc2Vu dGVkIGluICZsdDtvcGVyYXRpb25hbCZndDs/IFRoZSBhY2Nlc3NpYmxlIHRyZWUgY2Fubm90IGlu Y2x1ZGU8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi PnRoZXNlIHZhbHVlcywgc28gWFBhdGgtYmFzZWQgdmFsaWRhdGlvbiBjYW5ub3QgdXNlIHRoZW0u PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpw PiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxv OnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5v bmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYu MHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20iPg0KPHAgY2xhc3M9Ik1zb05v cm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48YnI+DQovanM8bzpwPjwvbzpwPjwv cD4NCjwvYmxvY2txdW90ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNw OzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5i c3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+QW5keTxv OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m bmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJz cDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25l O2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA2LjBw dDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGNtIj4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPk9uIFdlZCwgQXVnIDA0LCAyMDIxIGF0IDEyOjM0OjQ1UE0gKzAwMDAsIEtlbnQgV2F0c2Vu IHdyb3RlOjxicj4NCiZndDsgPGJyPg0KJmd0OyBJIGFtIGNvbmZ1c2VkIGJ5IHRoZSBjb25mdXNp b24mbmJzcDsgOyk8YnI+DQomZ3Q7IDxicj4NCiZndDsgWW91IGFsbCBrbm93IHRoYXQgSlVOT1Mg aW1wbGVtZW50ZWQgdGhpcyBjb25jZXB0IGJlZm9yZSBZQU5HIHdhcyBldmVuIGEgdGhpbmcsIHJp Z2h0PyZuYnNwOw0KPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IEFkbWl0dGVkbHksIGl04oCZcyBub3Qg YSDigJxkYXRhc3RvcmXigJwsIGJ1dCBmbGV4aW5nIHRoZSBOTURBIGlzIHdoZXJlIHdlIGNhbiBk byBiZXR0ZXIuDQo8YnI+DQomZ3Q7IDxicj4NCiZndDsgQSDigJx3aXRoLXN5c3RlbeKAnSBtZWNo YW5pc20gY291bGQgYWxzbyB3b3JrLiZuYnNwOyBUaGUgb25seSBkb3duc2lkZSBpcyB0aGUgaW5h YmlsaXR5IGZvciBhIGNsaWVudCB0byBnZXQgb25seSB0aGUgc3lzdGVtIGNvbmZpZ3VyYXRpb24s IHdpdGhvdXQgdGhlIHJlc3Qgb2YgJmx0O3J1bm5pbmcmZ3Q7LiZuYnNwOyAmbmJzcDs8YnI+DQom Z3Q7IDxicj4NCiZndDsgUGxlYXNlIHN0b3Agc3RhdGluZy9zdWdnZXN0aW5nIOKAnGNvbmZpZyB0 cnVl4oCdIG5vZGVzIGFyZSByZWZlcmVuY2luZyDigJxjb25maWcgZmFsc2XigJ0gbm9kZXMsJm5i c3A7IG9yIHRoYXQgY29uZmlnIGlzIHJlZmVyZW5jaW5nIG9wZXJhdGlvbmFsIHN0YXRlLiZuYnNw OyBUaGVyZSBpcyBubyBpbnRlbnRpb24gdG8gYnJlYWsgZWl0aGVyIG9mIHRoZXNlIHRlbmFudHMg aGVyZS4mbmJzcDsNCjxicj4NCiZndDsgPGJyPg0KJmd0OyBJIHRoaW5rIHRoYXQgc29tZSBmb2xr cyBqdXN0IGpvaW5lZCB0aGUgY29udmVyc2F0aW9uIGFuZCBtYXkgaGF2ZSBtaXNzZWQgb3V0IHdo ZW4gd2UgY292ZXJlZCBhbGwgdGhpcyBiZWZvcmUuJm5ic3A7DQo8YnI+DQomZ3Q7IDxicj4NCiZn dDsgVGhlIGRyYWZ0IG5lZWRzIHRvIGJlIHVwZGF0ZWQgdG8gbW9yZSBjbGVhcmx5IGlkZW50aWZ5 IHRoZSBnb2Fscy4gPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IEsuIDxicj4NCiZndDsgPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7IDxicj4NCiZndDsgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX188YnI+DQomZ3Q7IG5ldG1vZCBtYWlsaW5nIGxpc3Q8YnI+DQomZ3Q7IDxh IGhyZWY9Im1haWx0bzpuZXRtb2RAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj5uZXRtb2RAaWV0 Zi5vcmc8L2E+PGJyPg0KJmd0OyA8YSBocmVmPSJodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFu L2xpc3RpbmZvL25ldG1vZCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3LmlldGYub3JnL21h aWxtYW4vbGlzdGluZm8vbmV0bW9kPC9hPjxicj4NCjxicj4NCi0tIDxicj4NCkp1ZXJnZW4gU2No b2Vud2FlbGRlciZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7SmFjb2Jz IFVuaXZlcnNpdHkgQnJlbWVuIGdHbWJIPGJyPg0KUGhvbmU6ICs0OSA0MjEgMjAwIDM1ODcmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Q2FtcHVzIFJpbmcgMSB8IDI4NzU5IEJyZW1l biB8IEdlcm1hbnk8YnI+DQpGYXg6Jm5ic3A7ICZuYnNwOys0OSA0MjEgMjAwIDMxMDMmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Jmx0OzxhIGhyZWY9Imh0dHBzOi8vd3d3LmphY29i cy11bml2ZXJzaXR5LmRlLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3LmphY29icy11bml2 ZXJzaXR5LmRlLzwvYT4mZ3Q7PG86cD48L286cD48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4N CjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg== --_000_BN7PR08MB50739BBC55241126003EBC399BF69BN7PR08MB5073namp_-- From nobody Mon Aug 9 15:23:38 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0EE0D3A1B28 for ; Mon, 9 Aug 2021 15:23:37 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.887 X-Spam-Level: X-Spam-Status: No, score=-1.887 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id I8XoOj32cAHk for ; Mon, 9 Aug 2021 15:23:30 -0700 (PDT) Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com [IPv6:2a00:1450:4864:20::131]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 60E663A1B27 for ; Mon, 9 Aug 2021 15:23:30 -0700 (PDT) Received: by mail-lf1-x131.google.com with SMTP id d4so8254076lfk.9 for ; Mon, 09 Aug 2021 15:23:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=2mggSDiwJZffjJSKnz24e5cvw4F2fqjrSIo6jJwN61U=; b=gp2MUoJQ5wfzSVwIZiCkDKUpxQo9LcHSior9XYKS6JjZJENVUC6bEWP/fLJIMA3ecH 3LlZA5CsXQVbe83ffCflVHmDKql3owJd+PZP1Zv1Xc9YPKRXuPyDQcSJM/mo2nx6Bm9J Lxunwg5f2i+OrpSQyNbOTSUMsAyrznvtwzCOeVV1JIQYbKbxJ4ll+gMvfBdHXis3usnw vM7X5cPy87dm61YtQ9pN9Z2qCn5Pp7s6iQkluaB0uw+05xY7kKRELiV7SnjBG3/AefyS rSOOdhUyGf5ap+iC7DI/uQokyakWd8Y/0tsArh8nD3++8QRmaP+pETZCvD1wsH+GLQO6 9j1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=2mggSDiwJZffjJSKnz24e5cvw4F2fqjrSIo6jJwN61U=; b=B9fwe7FMVCCjxOM+vJdpDSsyyiGbMrEfk/rnmq7afMi7A4oAjGMKoKLcBxd0G1U2kK Z1O2k3j39MB0l/2SSQ0YVd+cEkx6XK9iz91v3F+ZcHpDWdE8lCsSDPZGQkVYaLK0gZmg /pOaZBTfrshBPBhdAY0uThsoecih2zciqefI4OxRnVp/Pu4+wF499iO8ZNdsceEF6KRA HW+MMI8xZUqBI61pzmbtLmjGsqCpJlrYpJn2km7YYp1s2hHQkyg1MHxMiZlKFt3mk3OB cCJgCLeZaPs4jyHJJkkLJAK+NTq2XTt6hE5lr95HM5Yt6baMZSthf/7HTBzc4r3IJHXQ Bsdg== X-Gm-Message-State: AOAM533Gt9kDSaej/XDMO8gZDa4QqO4tMOzMRyc3wgFHcrfg5r4KhnNk rrzeihX/SPTHUVnJvyRzsQPJf/GwobEsZTBOoXa3Hw== X-Google-Smtp-Source: ABdhPJyu/SL0CBsvLCldJLhKxxNKjcsKy2Jp73w/+OfxvQLGYtHAmXaGXVaKAl3o09lP1+A2/5IQIPvwPA+mRMvfgnc= X-Received: by 2002:ac2:4205:: with SMTP id y5mr684069lfh.512.1628547805729; Mon, 09 Aug 2021 15:23:25 -0700 (PDT) MIME-Version: 1.0 References: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@email.amazonses.com> <20210804133956.p73si5f63t4esmcj@anna.jacobs.jacobs-university.de> In-Reply-To: From: Andy Bierman Date: Mon, 9 Aug 2021 15:23:14 -0700 Message-ID: To: "Sterne, Jason (Nokia - CA/Ottawa)" Cc: Juergen Schoenwaelder , Kent Watsen , NetMod WG Content-Type: multipart/alternative; boundary="00000000000075ee5205c927d571" Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Aug 2021 22:23:37 -0000 --00000000000075ee5205c927d571 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Aug 9, 2021 at 2:51 PM Sterne, Jason (Nokia - CA/Ottawa) < jason.sterne@nokia.com> wrote: > Hi guys, > > > > I'm late to the game on this thread but I did read through the entire > thing (whew - can't promise I absorbed every nuance though). I am familia= r > with this issue. I've been dealing with it from the server implementation > side (some clients **do** complain if there are references to missing > "system config" list entries). > > > > One of the pretty fundamental issues IMO is whether we want good ol' > standard to always be valid (including for an offline client or > tool to be able to validate instance data retrieved from a server against > the YANG models). Even without this "system config" topic, we already hav= e > a looming problem with config templates & expansion. Servers with YANG > models that document a lot of constraints (e.g. leafrefs, mandatory > statements, etc) are more likely to hit this issue of an invalid running > config (offline). > > > > I'm doubtful that it is easy for a client to know how templates are > expanded for all given servers. Unless that expansion is fully standardiz= ed > (which would be challenging given multiple different shipping > implementations in the industry), there can be some subtle corner cases a= nd > it can be complex (multiple levels of template application, exclusion > rules, etc). > > > > I agree there can be dynamically added system config (e.g. create a new > qos policy, and some queue list entries are automatically created inside > that policy). > > > > Note that config added by the system could be deletable or non-deletable. > For deletable items there were some previous discussions a few years ago > that those list entries could be simply a default config that is populate= d > if the startup datastore is empty at boot time. > > > > The system config list entries could also have leafs that are modifiable > and leafs that are immutable. For the modifiable objects I think this is > basically the system merging the explicit config with the system config > (with the explicit taking precedence). > > > > Perhaps a lot of this system config is a legacy hold over from > human-driven CLIs. For machine interfaces maybe it's reasonable to have > clients explicitly define their config **if** they need offline > validation of to succeed (i.e. allow clients to explicitly > configure any of the system config policies they are actually using & > referencing). In many cases, users want the "master" view of the config = to > live up in the client/OSS side and just push it down to the server (witho= ut > having the server touch the contents of the running, i.e. a read-back > should return identically what was sent). > > > > It might be good to set up a virtual interim or call of some sort to > discuss this one. It is pretty complex. > > I think Balasz captured the 2 use-cases very well. For implementations that combine the system into , undoing this behavior would be quite disruptive and therefore not likely to be done= . It would help to have some common understanding of the contents of = . Maybe start with the well-known "interface problem". The system configures almost empty physical interfaces. The user is allowed to add, modify, and delete all descendants except the "name" and "type" leaf, which are set by the system. In this case will have the /interfaces/interface nodes in them (or else the client-accessible nodes could not be represented in NETCONF). So any config=3Dtrue XPath can point at name or type leafs in or . I have heard that is needed because it has nodes in it that do not exist in or , but could exist. The premise is that the server could have created these nodes but it did not for some reason. And the client can inspect these nodes and somehow force the server to change the nodes it adds to . (So what is the real use-case then?) Retrieving the system-created nodes with origin=3Dsystem is already support= ed by NMDA. > > > Jason > Andy > > > > > *From:* netmod *On Behalf Of *Andy Bierman > *Sent:* Wednesday, August 4, 2021 9:59 AM > *To:* Juergen Schoenwaelder ; Kent > Watsen ; Andy Bierman ; NetMod WG < > netmod@ietf.org> > *Subject:* Re: [netmod] system configuration sync mechanism > > > > > > > > On Wed, Aug 4, 2021 at 6:39 AM J=C3=BCrgen Sch=C3=B6nw=C3=A4lder < > j.schoenwaelder@jacobs-university.de> wrote: > > The figure in RFC 8342 section 5 documents what was agreed upon > before. System configuration flows into but not upwards > into . Over the years, we discussed several corner cases > (including things like configuring a new user and the system > automatically assigns an unused uid, which afterwards needs to be kept > stable). While there are for sure tricky corner cases, I am not > convinced that the model defined in RFC 8342 for the general cases is > wrong and that merging a new system datastore into is the > right approach. If people want to change the model documented in RFC > 8342, then they should make an explicit statement about this and > provide strong reasons that the model is flawed or incomplete. > > Note that the model does allow having a system client merging config > into (ideally controlled by an ACM so that such a client can > be turned off if it leads to surprises). > > > > > > This is a solved problem in proprietary ways. It is simple to treat > system config > > as an access control issue. > > > > I am quite concerned that NMDA is getting extended in ways that lead to > > confusion and poor interoperability. Adding a new datastore is very > serious. > > IMO ANY new datastore (even factory default) should be standardized in > > a new version of NMDA (replacing RFC 8342). > > > > A datastore has a lot of baggage > > - YANG library > > - YANG XPath evaluation > > - subtree and XPath filtered retrieval > > - usage in RPC operations (ds:datastore data type parameter) > > > > Every time a datastore is added, all the existing RPC operations that use > > datastores need to be clarified wrt/ support for the new datastore. > > (Of course this is never done, leading to lots of interoperability issues= ) > > > > I am quite confused by the XPath discussions because XPath can only > > access existing nodes (i.e. the "accessible tree") > > https://datatracker.ietf.org/doc/html/rfc7950#section-6.4.1 > > > > So what does it mean for the system datastore to contain possible values > that > > cannot be represented in ? The accessible tree cannot includ= e > > these values, so XPath-based validation cannot use them. > > > > > > > /js > > > > > > Andy > > > > > > On Wed, Aug 04, 2021 at 12:34:45PM +0000, Kent Watsen wrote: > > > > I am confused by the confusion ;) > > > > You all know that JUNOS implemented this concept before YANG was even a > thing, right? > > > > Admittedly, it=E2=80=99s not a =E2=80=9Cdatastore=E2=80=9C, but flexing= the NMDA is where we can > do better. > > > > A =E2=80=9Cwith-system=E2=80=9D mechanism could also work. The only do= wnside is the > inability for a client to get only the system configuration, without the > rest of . > > > > Please stop stating/suggesting =E2=80=9Cconfig true=E2=80=9D nodes are = referencing > =E2=80=9Cconfig false=E2=80=9D nodes, or that config is referencing oper= ational state. > There is no intention to break either of these tenants here. > > > > I think that some folks just joined the conversation and may have misse= d > out when we covered all this before. > > > > The draft needs to be updated to more clearly identify the goals. > > > > K. > > > > > > > > _______________________________________________ > > netmod mailing list > > netmod@ietf.org > > https://www.ietf.org/mailman/listinfo/netmod > > -- > Juergen Schoenwaelder Jacobs University Bremen gGmbH > Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany > Fax: +49 421 200 3103 > > --00000000000075ee5205c927d571 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Mon, Aug 9, 2021 at 2:51 PM Sterne= , Jason (Nokia - CA/Ottawa) <j= ason.sterne@nokia.com> wrote:

Hi guys,

=C2=A0

I'm late to the game on this thread but I = did read through the entire thing (whew - can't promise I absorbed ever= y nuance though). I am familiar with this issue. I've been dealing with= it from the server implementation side (some clients *do* complain if there are= references to missing "system config" list entries).

=C2=A0

One of the pretty fundamental issues IMO is wh= ether we want good ol' standard <running> to always be valid (inc= luding for an offline client or tool to be able to validate instance data r= etrieved from a server against the YANG models). Even without this "system con= fig" topic, we already have a looming problem with config templates &a= mp; expansion.=C2=A0 Servers with YANG models that document a lot of constr= aints (e.g. leafrefs, mandatory statements, etc) are more likely to hit this issue of an invalid running config (offline).

=C2=A0

I'm doubtful that it is easy for a client = to know how templates are expanded for all given servers. Unless that expan= sion is fully standardized (which would be challenging given multiple diffe= rent shipping implementations in the industry), there can be some subtle corner= cases and it can be complex (multiple levels of template application, excl= usion rules, etc).

=C2=A0

I agree there can be dynamically added system = config (e.g. create a new qos policy, and some queue list entries are autom= atically created inside that policy).

=C2=A0

Note that config added by the system could be = deletable or non-deletable. For deletable items there were some previous di= scussions a few years ago that those list entries could be simply a default config that is populated if the startup datastore is empty at boot time.

=C2=A0

The system config list entries could also have= leafs that are modifiable and leafs that are immutable. For the modifiable= objects I think this is basically the system merging the explicit config with the system config (with the explicit taking precedence).

=C2=A0

Perhaps a lot of this system config is a legac= y hold over from human-driven CLIs. For machine interfaces maybe it's r= easonable to have clients explicitly define their config *if* they n= eed offline validation of <running> to succeed (i.e. allow clients to ex= plicitly configure any of the system config policies they are actually usin= g & referencing).=C2=A0 In many cases, users want the "master"= ; view of the config to live up in the client/OSS side and just push it down to the server (without having the server touch the conte= nts of the running, i.e. a read-back should return identically what was sen= t).

=C2=A0

It might be good to set up a virtual interim o= r call of some sort to discuss this one. It is pretty complex.



I think Balasz captured the 2 use-cases ver= y well.
For implementations that combine the system into <runn= ing>, undoing
this behavior would be quite disruptive and ther= efore not likely to be done.

It would help to have= some common understanding of the contents of <system>.
May= be start with the well-known "interface problem".=C2=A0 The syste= m configures almost empty physical interfaces.
The user is allowe= d to add, modify, and delete all descendants except the "name" an= d "type" leaf,
which are set by the system.
<= br>
In this case <running> will have the /interfaces/interf= ace nodes in them (or else the client-accessible
nodes could not = be represented in NETCONF).=C2=A0 So any config=3Dtrue XPath can point at n= ame or type leafs
in <running> or <operational>.

I have heard that <system> is needed because it = has nodes in it that do not exist
in <running> or <opera= tional>, but could exist.=C2=A0=C2=A0
The premise is that the = server could have created these nodes
but it did not for some rea= son.=C2=A0 And the client can inspect these nodes and somehow
for= ce the server to change the nodes it adds to <running>. (So what is t= he real use-case then?)

Retrieving the system-crea= ted nodes with origin=3Dsystem is already supported by NMDA.

=



=C2=A0

=C2=A0

Jason

=

Andy
=C2=A0

=C2=A0

=C2=A0

From: netmod <netmod-bounces@ietf.org> On Behalf Of Andy Bierman
Sent: Wednesday, August 4, 2021 9:59 AM
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>; Kent Watsen <kent@watsen.net>; Andy Bierman <andy@yumaworks.com>; NetMod WG <netmod@ietf.org>
Subject: Re: [netmod] system configuration sync mechanism<= /u>

=C2=A0

=C2=A0

=C2=A0

On Wed, Aug 4, 2021 at 6:39 AM J=C3=BCrgen Sch=C3=B6= nw=C3=A4lder <j.schoenwaelder@jacobs-university.de> wrote:<= u>

The figure in RFC 8342 section 5 documents what was = agreed upon
before. System configuration flows into <operational> but not upwards=
into <running>. Over the years, we discussed several corner cases
(including things like configuring a new user and the system
automatically assigns an unused uid, which afterwards needs to be kept
stable). While there are for sure tricky corner cases, I am not
convinced that the model defined in RFC 8342 for the general cases is
wrong and that merging a new system datastore into <running> is the right approach. If people want to change the model documented in RFC
8342, then they should make an explicit statement about this and
provide strong reasons that the model is flawed or incomplete.

Note that the model does allow having a system client merging config
into <running> (ideally controlled by an ACM so that such a client ca= n
be turned off if it leads to surprises).

=C2=A0

=C2=A0

This is a solved problem in proprietary ways.=C2=A0 = It is simple to treat system config

as an access control issue.=C2=A0

=C2=A0

I am quite concerned that NMDA is getting extended i= n ways that lead to

confusion and poor interoperability.=C2=A0 Adding a = new datastore is very serious.

IMO ANY new datastore (even factory default) should = be standardized in

a new version of NMDA (replacing RFC 8342).

=C2=A0

A datastore has a lot of baggage

=C2=A0 =C2=A0- YANG library

=C2=A0 =C2=A0- YANG XPath evaluation

=C2=A0 =C2=A0- subtree and XPath filtered retrieval<= u>

=C2=A0 =C2=A0- usage in RPC operations (ds:datastore= data type parameter)

=C2=A0

Every time a datastore is added, all the existing RP= C operations that use

datastores need to be clarified wrt/ support for the= new datastore.

(Of course this is never done, leading to lots of in= teroperability issues)

=C2=A0

I am quite confused by the XPath discussions because= XPath can only

access existing nodes (i.e. the "accessible tre= e")

=C2=A0

So what does it mean for the system datastore to con= tain possible values that

cannot be represented in <operational>? The ac= cessible tree cannot include

these values, so XPath-based validation cannot use t= hem.

=C2=A0

=C2=A0


/js

=C2=A0

=C2=A0

Andy

=C2=A0

=C2=A0

On Wed, Aug 04, 2021 at 12:34:45PM +0000, Kent Watse= n wrote:
>
> I am confused by the confusion=C2=A0 ;)
>
> You all know that JUNOS implemented this concept before YANG was even = a thing, right?=C2=A0
>
> Admittedly, it=E2=80=99s not a =E2=80=9Cdatastore=E2=80=9C, but flexin= g the NMDA is where we can do better.
>
> A =E2=80=9Cwith-system=E2=80=9D mechanism could also work.=C2=A0 The o= nly downside is the inability for a client to get only the system configura= tion, without the rest of <running>.=C2=A0 =C2=A0
>
> Please stop stating/suggesting =E2=80=9Cconfig true=E2=80=9D nodes are= referencing =E2=80=9Cconfig false=E2=80=9D nodes,=C2=A0 or that config is = referencing operational state.=C2=A0 There is no intention to break either = of these tenants here.=C2=A0
>
> I think that some folks just joined the conversation and may have miss= ed out when we covered all this before.=C2=A0
>
> The draft needs to be updated to more clearly identify the goals.
>
> K.
>
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
>
https://www.ietf.org/mailman/listinfo/netmod

--
Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs Univer= sity Bremen gGmbH
Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1 | 28= 759 Bremen | Germany
Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<https://www.jac= obs-university.de/>

--00000000000075ee5205c927d571-- From nobody Mon Aug 9 18:59:03 2021 Return-Path: <0100017b2dc8b664-c32e2445-9989-4cd2-9d30-83ce1eb4b2b5-000000@amazonses.watsen.net> X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EE67C3A21BC for ; Mon, 9 Aug 2021 18:59:00 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.896 X-Spam-Level: X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J_Vbp17Ln5bi for ; Mon, 9 Aug 2021 18:58:55 -0700 (PDT) Received: from a48-92.smtp-out.amazonses.com (a48-92.smtp-out.amazonses.com [54.240.48.92]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 36A303A21BB for ; Mon, 9 Aug 2021 18:58:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1628560733; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=EaUNSw4MHL/7S8fM2GTiVf9RrFybh3p+CaAnu+Pmf4w=; b=ZH+DCNZo0jaYUHgohoaM1FUcQbNaFxgAZdyjJoOTkvEY+ZEskb7AJyqYTmcKdfsg +imjg4qmZSE7PBOZHvY5NQ+xRmZzgxne3w+ksNap6xc5IewdczuQDiNV1xCF3h6Sx4V QKIvNjqBI6KYdORRQV868YEpSYThHZRXAR2H4pRA= From: Kent Watsen Message-ID: <0100017b2dc8b664-c32e2445-9989-4cd2-9d30-83ce1eb4b2b5-000000@email.amazonses.com> Content-Type: multipart/alternative; boundary="Apple-Mail=_5DDC672C-48E7-46D4-9EDB-8C360EE9B081" Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\)) Date: Tue, 10 Aug 2021 01:58:53 +0000 In-Reply-To: Cc: "Sterne, Jason (Nokia - CA/Ottawa)" , "netmod@ietf.org" To: Andy Bierman References: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@email.amazonses.com> <20210804133956.p73si5f63t4esmcj@anna.jacobs.jacobs-university.de> X-Mailer: Apple Mail (2.3654.100.0.2.22) Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES X-SES-Outgoing: 2021.08.10-54.240.48.92 Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Aug 2021 01:59:01 -0000 --Apple-Mail=_5DDC672C-48E7-46D4-9EDB-8C360EE9B081 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 There was a request for concrete use cases. This email from before was = good: = https://mailarchive.ietf.org/arch/msg/netmod/v5cNLcC2F_OT8t-407F3Zj6Vws4/ = More below: > On Aug 9, 2021, at 6:23 PM, Andy Bierman wrote: >=20 > On Mon, Aug 9, 2021 at 2:51 PM Sterne, Jason (Nokia - CA/Ottawa) = > wrote: > Hi guys, >=20 > =20 >=20 > I'm late to the game on this thread but I did read through the entire = thing (whew - can't promise I absorbed every nuance though). I am = familiar with this issue. I've been dealing with it from the server = implementation side (some clients *do* complain if there are references = to missing "system config" list entries). >=20 > =20 >=20 > One of the pretty fundamental issues IMO is whether we want good ol' = standard to always be valid (including for an offline client = or tool to be able to validate instance data retrieved from a server = against the YANG models). Even without this "system config" topic, we = already have a looming problem with config templates & expansion. = Servers with YANG models that document a lot of constraints (e.g. = leafrefs, mandatory statements, etc) are more likely to hit this issue = of an invalid running config (offline). >=20 I think that it is already the case with JUNOS that by itself = cannot be validated by a client unaware of how JUNOS templates work=E2=80=A6= as the templates may supply mandatory nodes and/or values, or some = validations only make sense to evaluate when the config is flattened = (e.g., ensuring "max-elements" is not exceeded, ensuring ACLs always end = with a terminal rules, etc.). > I'm doubtful that it is easy for a client to know how templates are = expanded for all given servers. Unless that expansion is fully = standardized (which would be challenging given multiple different = shipping implementations in the industry), there can be some subtle = corner cases and it can be complex (multiple levels of template = application, exclusion rules, etc). >=20 Agreed, not easy but=E2=80=A6 Some [smart] clients may never need to grok how device-level templates = are expanded. For instance, the NMS I worked on in a previous life = would always onboard a new device by asking the device to provide its = config already expanded, and thereafter would never send = templated-config to the device (note: the NMS had its own template = mechanism). =20 On the other end of the client-spectrum, other [dumb] clients may also = not need to grok how device-level templates are expanded, as they mostly = push simple updates (e.g., open a port) known to pass validation and/or = rely on server-side validation. Of course, there MAY be clients in-between that read/write = templated-config and, if they wish to perform off-box validation, most = likely will need to grok how templates are expanded. > I agree there can be dynamically added system config (e.g. create a = new qos policy, and some queue list entries are automatically created = inside that policy). >=20 I'm unsure how this relates. > Note that config added by the system could be deletable or = non-deletable. For deletable items there were some previous discussions = a few years ago that those list entries could be simply a default config = that is populated if the startup datastore is empty at boot time. >=20 Yes, but I that=E2=80=99s a different use-case, right? (see the link to = concrete use cases provided at top) > The system config list entries could also have leafs that are = modifiable and leafs that are immutable. For the modifiable objects I = think this is basically the system merging the explicit config with the = system config (with the explicit taking precedence). The =E2=80=9Cmodifiable=E2=80=9D leafs are in this use-case, assuming = =E2=80=9Cmodifiable" is the synonymous as =E2=80=9Cover-writable". Some = =E2=80=9Cimmutable=E2=80=9D leafs are more like those discussed in RFC = 8342 Section 5, but others are like what Andy discusses below (note: = these immutable nodes are not currently in scope, as I understand it). > Perhaps a lot of this system config is a legacy hold over from = human-driven CLIs. For machine interfaces maybe it's reasonable to have = clients explicitly define their config *if* they need offline validation = of to succeed (i.e. allow clients to explicitly configure any = of the system config policies they are actually using & referencing). = In many cases, users want the "master" view of the config to live up in = the client/OSS side and just push it down to the server (without having = the server touch the contents of the running, i.e. a read-back should = return identically what was sent). >=20 Agree that a read-back of should always return identically = what was sent, but that doesn=E2=80=99t mean that there isn=E2=80=99t = system config in play. > It might be good to set up a virtual interim or call of some sort to = discuss this one. It is pretty complex. >=20 Good idea, but I=E2=80=99d hope first to get past the =E2=80=9Cdo we = understand the requirements=E2=80=9D part of the discussion. Of course, = if people prefer, we could schedule an interim to discuss the use-cases = also. > I think Balasz captured the 2 use-cases very well. The use-cases in his 7/31 message are good, but neither of them are part = this work=E2=80=99s scope, as I understand it. [update: his use-case = =E2=80=98A=E2=80=99 may be in scope, depending on how we set the scope] > For implementations that combine the system into , undoing > this behavior would be quite disruptive and therefore not likely to be = done. I do not support merging into (unless = appropriately-annotated in a =E2=80=9Cwith-system=E2=80=9D = response). I do support merging into . > It would help to have some common understanding of the contents of = . > Maybe start with the well-known "interface problem". The system = configures almost empty physical interfaces. The user is allowed to = add, modify, and delete all descendants except the "name" and "type" = leaf, which are set by the system. I agree that concrete use-cases are needed. The link provided at top = provides some, but not all, and definitely not the specific one you just = mentioned (which regards into Balazs=E2=80=99s use-case =E2=80=98A=E2=80=99= and Jason=E2=80=99s =E2=80=9Cimmutable=E2=80=9D config). > In this case will have the /interfaces/interface nodes in = them (or else the client-accessible nodes could not be represented in = NETCONF). So any config=3Dtrue XPath can point at name or type leafs in = or . Ack. > I have heard that is needed because it has nodes in it that = do not exist > in or , but could exist. The premise is that = the server could have created these nodes but it did not for some = reason. And the client can inspect these nodes and somehow force the = server to change the nodes it adds to . (So what is the real = use-case then?) This is what the link provided at the top of this message regards. > Retrieving the system-created nodes with origin=3Dsystem is already = supported by NMDA. True, but this =E2=80=9Csystem config=E2=80=9D feels different, or at = least parts of it does. We may need to tease apart the =E2=80=9Cleafref-a= ble system nodes=E2=80=9D from the =E2=80=9Cresource-independent = nodes=E2=80=9D from the =E2=80=9Cresource-dependent nodes=E2=80=9D. K. --Apple-Mail=_5DDC672C-48E7-46D4-9EDB-8C360EE9B081 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

There was a request for concrete use = cases.  This email from before was good:



More below:



On Aug 9, 2021, at 6:23 PM, Andy Bierman = <andy@yumaworks.com> wrote:

On Mon, Aug 9, 2021 at 2:51 PM Sterne, Jason (Nokia = - CA/Ottawa) <jason.sterne@nokia.com> wrote:

Hi guys,

 

I'm late to the game on this thread = but I did read through the entire thing (whew - can't promise I absorbed = every nuance though). I am familiar with this issue. I've been dealing = with it from the server implementation side (some clients *do* = complain if there are references to missing "system config" list = entries).

 

One of = the pretty fundamental issues IMO is whether we want good ol' standard = <running> to always be valid (including for an offline client or = tool to be able to validate instance data retrieved from a server against the YANG models). Even without this "system = config" topic, we already have a looming problem with config templates = & expansion.  Servers with YANG models that document a lot of = constraints (e.g. leafrefs, mandatory statements, etc) are more likely to hit this issue of an invalid running config (offline).


I think that it is already the = case with JUNOS that <running> by itself cannot be validated by a = client unaware of how JUNOS templates work=E2=80=A6as the templates may = supply mandatory nodes and/or values, or some validations only make = sense to evaluate when the config is flattened (e.g., ensuring = "max-elements" is not exceeded, ensuring ACLs always end with a terminal = rules, etc.).


I'm doubtful that it is easy for a client to know = how templates are expanded for all given servers. Unless that expansion = is fully standardized (which would be challenging given multiple = different shipping implementations in the industry), there can be some subtle = corner cases and it can be complex (multiple levels of template = application, exclusion rules, = etc).

Agreed, = not easy but=E2=80=A6

Some [smart] = clients may never need to grok how device-level templates are expanded. =  For instance, the NMS I worked on in a previous life would always = onboard a new device by asking the device to provide its = config already expanded, and thereafter would never = send templated-config to the device (note: the NMS had its own template = mechanism).  

On the other end = of the client-spectrum, other [dumb] clients may also not need = to grok how device-level templates are expanded, as they mostly = push simple updates (e.g., open a port) known to pass validation and/or = rely on server-side validation.

Of course, there MAY be clients in-between that read/write = templated-config and, if they wish to perform off-box validation, most = likely will need to grok how templates are = expanded.


I agree there can be dynamically added system config = (e.g. create a new qos policy, and some queue list entries are = automatically created inside that = policy).

I'm unsure = how this relates.


Note that config added by the system could be = deletable or non-deletable. For deletable items there were some previous = discussions a few years ago that those list entries could be simply a = default config that is populated if the startup datastore is empty at boot = time.

Yes, but I = that=E2=80=99s a different use-case, right?  (see the link to = concrete use cases provided at top)


The = system config list entries could also have leafs that are modifiable and = leafs that are immutable. For the modifiable objects I think this is = basically the system merging the explicit config with the system config (with the explicit taking = precedence).
<= br class=3D"">
The =E2=80=9Cmodifiable=E2=80=9D leafs are in = this use-case, assuming =E2=80=9Cmodifiable" is the synonymous as = =E2=80=9Cover-writable".  Some =E2=80=9Cimmutable=E2=80=9D leafs = are more like those discussed in RFC 8342 Section 5, but others are = like what Andy discusses below (note: these immutable nodes are not = currently in scope, as I understand it).


Perhaps a lot of this system config is a legacy hold = over from human-driven CLIs. For machine interfaces maybe it's = reasonable to have clients explicitly define their config *if* they need offline validation of <running> to succeed (i.e. allow clients to = explicitly configure any of the system config policies they are actually = using & referencing).  In many cases, users want the "master" = view of the config to live up in the client/OSS side and just push it down to the server (without having the server touch the = contents of the running, i.e. a read-back should return identically what = was = sent).

Agree = that a read-back of <running> should always return identically = what was sent, but that doesn=E2=80=99t mean that there isn=E2=80=99t = system config in play.

It might be good to set up a virtual interim or call = of some sort to discuss this one. It is pretty = complex.

Good = idea, but I=E2=80=99d hope first to get past the =E2=80=9Cdo we = understand the requirements=E2=80=9D part of the discussion.  Of = course, if people prefer, we could schedule an interim to discuss the = use-cases also.

I = think Balasz captured the 2 use-cases very = well.

The = use-cases in his 7/31 message are good, but neither of them are part = this work=E2=80=99s scope, as I understand it.  [update: his = use-case =E2=80=98A=E2=80=99 may be in scope, depending on how we set = the scope]


For implementations that combine = the system into <running>, undoing
this = behavior would be quite disruptive and therefore not likely to be = done.

I do not = support merging <system> into <running> (unless = appropriately-annotated in a =E2=80=9Cwith-system=E2=80=9D <get-config> response).  I do support merging = <system> into <intended>.


It would help to have some common understanding of the = contents of <system>.
Maybe start with the = well-known "interface problem".  The system configures almost empty = physical interfaces.  The user is allowed to add, modify, and = delete all descendants except the "name" and "type" leaf, which are set = by the system.

I agree that concrete use-cases are needed. =  The link provided at top provides some, but not all, and = definitely not the specific one you just mentioned (which regards into = Balazs=E2=80=99s use-case =E2=80=98A=E2=80=99 and Jason=E2=80=99s = =E2=80=9Cimmutable=E2=80=9D config).


In this case = <running> will have the /interfaces/interface nodes in them (or = else the client-accessible nodes could not be represented in = NETCONF).  So any config=3Dtrue XPath can point at name or type = leafs in <running> or = <operational>.

Ack.


I have heard that = <system> is needed because it has nodes in it that do not = exist
in <running> or <operational>, = but could exist.  The premise is that the server could have created = these nodes but it did not for some reason.  And the client can = inspect these nodes and somehow force the server to change the nodes it = adds to <running>. (So what is the real use-case = then?)

This = is what the link provided at the top of this message = regards.


Retrieving the system-created = nodes with origin=3Dsystem is already supported by = NMDA.

True, = but this =E2=80=9Csystem config=E2=80=9D feels different, or at least = parts of it does.  We may need to tease apart the =E2=80=9Cleafref-ab= le system nodes=E2=80=9D from the =E2=80=9Cresource-independent nodes=E2=80= =9D from the =E2=80=9Cresource-dependent nodes=E2=80=9D.



K.


= --Apple-Mail=_5DDC672C-48E7-46D4-9EDB-8C360EE9B081-- From nobody Fri Aug 13 14:02:43 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CA0173A263C for ; Fri, 13 Aug 2021 14:02:40 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.352 X-Spam-Level: X-Spam-Status: No, score=-2.352 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.452, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R0wkMZiFxI3f for ; Fri, 13 Aug 2021 14:02:34 -0700 (PDT) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2130.outbound.protection.outlook.com [40.107.92.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6DF2C3A2638 for ; Fri, 13 Aug 2021 14:02:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K2MbbbzsDOnu5Diqrq+KlIn1fumusBEXdtCyiv/NW2ySOf03qSFsc+lqKXvPngAeYtihS/s/qskh2jsMu1a4JdpwuVoI8hewCqpMwUXNCaDg619Psq5MbfAmkSisM9LfPywWBfD3juBrMrV67/418kfTd6b/zhrCaEubrEbS7A9YlWRF4Xxu1JqqE4CHrAkGY08KZEVtM9xc3phd8nYWRqHZmXMwTNuRf+ivEv/ACpOin1amdgZY2IU6hbH8Gge6darLhKW4pN7J/BvHjQWLkg6kNKYULPpGwmYCkDasdIejiA01tHPMogng/dfqGSxfbDH/ha36s2zSj9LmYJA0gQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+xUuOTOAoOCMnfuLZ2CSBjxCTGATzQT8tjR8U3afdK4=; b=AndF/x8OGIShx1szIfnNca3y4jBuzTnj+eVYovbuWpMa2G8vexE16vRjEvaWFSkIRl8mjzLRwcnfmYTCANcwIfqdpsc2yd/aVOrz41+80ggz6qLs+ShCaJjPxfXTJ7Y3KUaj/PhSEr3jRvYDKJv3v3eCkIP0Jovdb9PKq7GVbEuRYkx9wuSwC/kcTOZeS7tjDBZwg4Bh5v/8hJ1LoR0WVXPLVG9vxZEC/zjqSd2ziU4kgHCBrsDoJQHYjNdVbzU/6xWfoQNXngujSRC6BBjh5g+vNeQflsnC3Y+/A9qz0AIoPbKs87BCiHU4B7LVyhImZ6FUPA0K595hHCwWywgkug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+xUuOTOAoOCMnfuLZ2CSBjxCTGATzQT8tjR8U3afdK4=; b=P9PwOFD1DvfEl6GzTTVjz5Tl51ejftMTs0qbyrBoxqhAgiL5AUpn7DNZ0FO5GEb4rzTTR8iMGzCuUsxKbwgBb5IsZbxaIDJe6+WGy1T6DEVPo4GTGXYV6vRRXKUsS09fFGbBw03iNxb+68cN3n52AZp2JSq8U7kKSPTikuM4W5Q= Received: from DM6PR08MB5084.namprd08.prod.outlook.com (2603:10b6:5:41::29) by DM5PR08MB2412.namprd08.prod.outlook.com (2603:10b6:3:70::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Fri, 13 Aug 2021 21:02:32 +0000 Received: from DM6PR08MB5084.namprd08.prod.outlook.com ([fe80::1c4f:c615:7111:f171]) by DM6PR08MB5084.namprd08.prod.outlook.com ([fe80::1c4f:c615:7111:f171%5]) with mapi id 15.20.4415.017; Fri, 13 Aug 2021 21:02:31 +0000 From: "Sterne, Jason (Nokia - CA/Ottawa)" To: Andy Bierman CC: Juergen Schoenwaelder , Kent Watsen , NetMod WG Thread-Topic: [netmod] system configuration sync mechanism Thread-Index: AQHXiTj1ANBqfgbXY0OJQ2APDweat6truCeggAAPsACABi4fAA== Date: Fri, 13 Aug 2021 21:02:31 +0000 Message-ID: References: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@email.amazonses.com> <20210804133956.p73si5f63t4esmcj@anna.jacobs.jacobs-university.de> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: yumaworks.com; dkim=none (message not signed) header.d=none;yumaworks.com; dmarc=none action=none header.from=nokia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 080cccab-d2e1-4785-46f0-08d95e9daae0 x-ms-traffictypediagnostic: DM5PR08MB2412: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rKz53mbWloa6PWqn7R3ISSPzNTXhZqN+rUq5RvnF6cr4zdie5NHA/eYE6sV04J793Kb77xWx0Rl8bDTdjY8CRS82kBReK8K9qallwhVCt32zNxYCB4U6Dwm1p/Co5j/iVzn6Vs0ekd6S9oWPpH45EGWvaPiPqLBIoWOCqwXC8lJYNZ5OhmkfQhER7XSBA0F8Sz0UlCe9DsvAx2WlcZSOfTILFBVtjT2ChyEIE/rL0ugpFHrws1TAN9h28+f/aW5apksRq1IDCDUmUvSDo78I2NSAjYv9Ifz/uHcfP1zsikKXau+3Qp02/bsDeHemsKsB1e2fSXHKqOLilaj7kmvgZox6CsRjW3Z9bBHxMZsaVTeI9F27/QYskDGznWNuOFsMWXlJbawqbHn7HvD2pzF+eZqorArZwUSovT8cAImxAAEYIPNyYHSNRTgKVIwkdO0NzkGhOxJZeKSKyCAxg78YdM4GFSPRBIcGir0rcZGy7vv7LcDqOXUxnK9GKKtphgKvC0I7YZcCsl7jnEuqkHlufkTu8y2buySnlrg6kSuhsgnM6BDMEq//abnvn8dEhT7Zs6j0+4Xi5ZGtx6V8WkYDy4McVxrqqt0QSCXt2cU6F78o2p1f48z0PJEJ188jVSUoF93jj66c9wLohMeZqK4znyjwD2zsvpA2szxAQvBPzHb8zBoFubQGLNmY6F9Vj4zuMB+h9EDVYGgx7c/7LDzvOzomSi3nx4J3mugiyy0B+z6bzzySbeOf0iZcwluX29OAB4OfddqSdub3kdnH3CtJWRDWT0gv4800L8vgrJvoafJl3CRUs+9EF8sjjL4/7U0ZkLp5coDEE5LgxrsTOjpM3w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR08MB5084.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(346002)(366004)(136003)(39860400002)(316002)(166002)(38070700005)(6916009)(52536014)(55016002)(5660300002)(33656002)(7696005)(64756008)(26005)(8936002)(478600001)(54906003)(8676002)(66476007)(53546011)(71200400001)(66946007)(38100700002)(186003)(122000001)(966005)(9326002)(66556008)(66446008)(2906002)(83380400001)(76116006)(9686003)(86362001)(4326008)(6506007)(66574015); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?clBLOGJ6b29VYXA4VU5aZzltYUt3dyt6c1FIY3NzaUlVRmZFZUpnUXNLd0N4?= =?utf-8?B?MWdJeGdqYUJQekhYbXNBZmdFMXBMMUFLMEtZbUpZWWVwWjZVc09DTVBJRVRh?= =?utf-8?B?YTU3K3hlNjhxUjh0T01rS3ROTUdEcXhyRjZ6UDBaT2JneW9IOUprMzNtRWZw?= =?utf-8?B?WVhFcitrOXRLdjVVQnhuWnB0YjgxTytDMVdMa2szK3QwT3Z0RDAxUnZOMzBt?= =?utf-8?B?QmNxMFZwOTQ5bFhjMnFmdU1kNDlXVkVmbG5KRzU2cGM3ZTNpNFNXNVJnV3BG?= =?utf-8?B?b3grTVhSaFpLS3Q2LzFSSWR4Z0FTNi9NSEVkV2dLSmc3VngvWDhLdFJDbWdh?= =?utf-8?B?OWJFWHIyd2VqNytFeUNiRkxacEZVOFBTMDdseGNEbCs4ZFR6TkVvV2sxOEtS?= =?utf-8?B?VUpFMGtiWHFidmRSSXpLSVl1Nzh0QWZoN1ZnbTM0aUpRNk8wQ0RrQ3g5Tzgx?= =?utf-8?B?Z3pVcXFaM3plcVhueFRZK2pCT1ZxSFdsZlFmOXlpekh4WlgxcmFMbWV4OU00?= =?utf-8?B?R1dHbld0UFllZHBscEFZcko1eUJSNXZCUDRwN2l4dVROWjlabmRWQUlpaWwy?= =?utf-8?B?bVU0c3V4bkc0VlZxR2ZxUkpFUmpKS0VrdzRRb2phNmw0ZDlGcG1jRzVTSmtp?= =?utf-8?B?Z3F6MjRUWGtlR2ZOT0lBc0pDLytxL3RMMldUU3NzdGszL1NPVHhYMnR0WFJT?= =?utf-8?B?dVNWTGxlS3JHMzVuV1dJVkRpWmVuTkFXbStLVHcrYXk1T01jaWt4MWcrUE5u?= =?utf-8?B?M25QRjRKZDd0OGFLV3NlWVV1ZlhyQVp0NHMzRTFXd3Z5V051MFhPeHMvcTFN?= =?utf-8?B?ZEk0Zmg4OFdSUVZoNkRtcWgvdW9hMmg4QnN6U3hlbTJTZ1VIb3grWnpoOEVB?= =?utf-8?B?aUc5OEFPTS9IeDFmWFQ4bU5XQk43UEphWVNreEdIZlVNVC9kYkU0bEZJckNZ?= =?utf-8?B?WE96dHJJeG1iUHM4Tk10dGNLdERjM3VSdGhZKzZ3S2dsWlBZL3FldWJYL2VV?= =?utf-8?B?U2FHUmhmbHJhVDY1YUcvdk1yR2tPejBMSzFIVVB4d1pPdTBIY2x3TlBjelBr?= =?utf-8?B?SHoxMENPaGd0bFRtZXcrMDBRaHZjMnZjclZuMEk2TWY1Vy8vVzNRQUdhR2lj?= =?utf-8?B?eUpOUGNnTXowZkc2ME5XQlh6U0ljZytodUx6YXBoZXV6b1pJcW43WXBLTkdK?= =?utf-8?B?N29SRnBnaEFPSHdKU0h6ZU1hMVljOU5HZ1RqTDZOSWlWZXEwN3BpZjNUMjVP?= =?utf-8?B?d1VHRFJCZDhPTS9zN0lockJoMFZkZzBzNlhKRVdpMUVWa1dqeHltVHpTNE9V?= =?utf-8?B?L0FwbGZKNDRhMjJLS2NqT0VhQmkzdmlObDNLTFpKa0FObFFDY1dCYWI4OEFS?= =?utf-8?B?V3dTdCs4c1NOK0VlTkRjbk9NZzZiaHdYYnVZZ3UzTC94SUx6OTYvSW13b0xS?= =?utf-8?B?c3ZnVmNTY2JQMmlkOHhEWXZqWFY3NW1pU0crcXBwUW1aUUJYV0JUNVF4OWtB?= =?utf-8?B?R29vWXVsaEtNVk4yb0pLeXNMZFZmZndMRFdTUGpDaHBkbG1XdkluTEpwMVov?= =?utf-8?B?ZXB4ZEQraEZpc0V6OTZBU2NWR3diQmFua1VHQVpBcXZUbFdZRGhlcVhYNmpR?= =?utf-8?B?bXM3VmorUGd3UU4xZ25iNXhEOGdZdjI3NW9DL1RmaUluUUt2TS9jWjhYU0Ra?= =?utf-8?B?TUNjQWNvWHUwL3VBRHVhR2p3ZzVBdU9qSmh0anJpL2FhaW1pdkVkNkJPd1JS?= =?utf-8?Q?dROvYTKbjNM2Ua91HqSR1n/Fss+ukQDZTe0NsbB?= x-ms-exchange-transport-forked: True Content-Type: multipart/alternative; boundary="_000_DM6PR08MB5084455E315E53F63BF7C9D29BFA9DM6PR08MB5084namp_" MIME-Version: 1.0 X-OriginatorOrg: nokia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR08MB5084.namprd08.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 080cccab-d2e1-4785-46f0-08d95e9daae0 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Aug 2021 21:02:31.8267 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: H6GKFZ2Xl1BP1fm+TbqlYQjZiWA+ifCqmXohzx+wi1NdZ80WH9eyuUItEWwQ4aUrczznpGrtnJNDVdn5nt7F1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR08MB2412 Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Aug 2021 21:02:41 -0000 --_000_DM6PR08MB5084455E315E53F63BF7C9D29BFA9DM6PR08MB5084namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgQW5keSwNClBscyBzZWUgaW5saW5lLg0KSmFzb24NCg0KRnJvbTogQW5keSBCaWVybWFuIDxh bmR5QHl1bWF3b3Jrcy5jb20+DQpTZW50OiBNb25kYXksIEF1Z3VzdCA5LCAyMDIxIDY6MjMgUE0N ClRvOiBTdGVybmUsIEphc29uIChOb2tpYSAtIENBL090dGF3YSkgPGphc29uLnN0ZXJuZUBub2tp YS5jb20+DQpDYzogSnVlcmdlbiBTY2hvZW53YWVsZGVyIDxqLnNjaG9lbndhZWxkZXJAamFjb2Jz LXVuaXZlcnNpdHkuZGU+OyBLZW50IFdhdHNlbiA8a2VudEB3YXRzZW4ubmV0PjsgTmV0TW9kIFdH IDxuZXRtb2RAaWV0Zi5vcmc+DQpTdWJqZWN0OiBSZTogW25ldG1vZF0gc3lzdGVtIGNvbmZpZ3Vy YXRpb24gc3luYyBtZWNoYW5pc20NCg0KDQoNCk9uIE1vbiwgQXVnIDksIDIwMjEgYXQgMjo1MSBQ TSBTdGVybmUsIEphc29uIChOb2tpYSAtIENBL090dGF3YSkgPGphc29uLnN0ZXJuZUBub2tpYS5j b208bWFpbHRvOmphc29uLnN0ZXJuZUBub2tpYS5jb20+PiB3cm90ZToNCkhpIGd1eXMsDQoNCkkn bSBsYXRlIHRvIHRoZSBnYW1lIG9uIHRoaXMgdGhyZWFkIGJ1dCBJIGRpZCByZWFkIHRocm91Z2gg dGhlIGVudGlyZSB0aGluZyAod2hldyAtIGNhbid0IHByb21pc2UgSSBhYnNvcmJlZCBldmVyeSBu dWFuY2UgdGhvdWdoKS4gSSBhbSBmYW1pbGlhciB3aXRoIHRoaXMgaXNzdWUuIEkndmUgYmVlbiBk ZWFsaW5nIHdpdGggaXQgZnJvbSB0aGUgc2VydmVyIGltcGxlbWVudGF0aW9uIHNpZGUgKHNvbWUg Y2xpZW50cyAqZG8qIGNvbXBsYWluIGlmIHRoZXJlIGFyZSByZWZlcmVuY2VzIHRvIG1pc3Npbmcg InN5c3RlbSBjb25maWciIGxpc3QgZW50cmllcykuDQoNCk9uZSBvZiB0aGUgcHJldHR5IGZ1bmRh bWVudGFsIGlzc3VlcyBJTU8gaXMgd2hldGhlciB3ZSB3YW50IGdvb2Qgb2wnIHN0YW5kYXJkIDxy dW5uaW5nPiB0byBhbHdheXMgYmUgdmFsaWQgKGluY2x1ZGluZyBmb3IgYW4gb2ZmbGluZSBjbGll bnQgb3IgdG9vbCB0byBiZSBhYmxlIHRvIHZhbGlkYXRlIGluc3RhbmNlIGRhdGEgcmV0cmlldmVk IGZyb20gYSBzZXJ2ZXIgYWdhaW5zdCB0aGUgWUFORyBtb2RlbHMpLiBFdmVuIHdpdGhvdXQgdGhp cyAic3lzdGVtIGNvbmZpZyIgdG9waWMsIHdlIGFscmVhZHkgaGF2ZSBhIGxvb21pbmcgcHJvYmxl bSB3aXRoIGNvbmZpZyB0ZW1wbGF0ZXMgJiBleHBhbnNpb24uICBTZXJ2ZXJzIHdpdGggWUFORyBt b2RlbHMgdGhhdCBkb2N1bWVudCBhIGxvdCBvZiBjb25zdHJhaW50cyAoZS5nLiBsZWFmcmVmcywg bWFuZGF0b3J5IHN0YXRlbWVudHMsIGV0YykgYXJlIG1vcmUgbGlrZWx5IHRvIGhpdCB0aGlzIGlz c3VlIG9mIGFuIGludmFsaWQgcnVubmluZyBjb25maWcgKG9mZmxpbmUpLg0KDQpJJ20gZG91YnRm dWwgdGhhdCBpdCBpcyBlYXN5IGZvciBhIGNsaWVudCB0byBrbm93IGhvdyB0ZW1wbGF0ZXMgYXJl IGV4cGFuZGVkIGZvciBhbGwgZ2l2ZW4gc2VydmVycy4gVW5sZXNzIHRoYXQgZXhwYW5zaW9uIGlz IGZ1bGx5IHN0YW5kYXJkaXplZCAod2hpY2ggd291bGQgYmUgY2hhbGxlbmdpbmcgZ2l2ZW4gbXVs dGlwbGUgZGlmZmVyZW50IHNoaXBwaW5nIGltcGxlbWVudGF0aW9ucyBpbiB0aGUgaW5kdXN0cnkp LCB0aGVyZSBjYW4gYmUgc29tZSBzdWJ0bGUgY29ybmVyIGNhc2VzIGFuZCBpdCBjYW4gYmUgY29t cGxleCAobXVsdGlwbGUgbGV2ZWxzIG9mIHRlbXBsYXRlIGFwcGxpY2F0aW9uLCBleGNsdXNpb24g cnVsZXMsIGV0YykuDQoNCkkgYWdyZWUgdGhlcmUgY2FuIGJlIGR5bmFtaWNhbGx5IGFkZGVkIHN5 c3RlbSBjb25maWcgKGUuZy4gY3JlYXRlIGEgbmV3IHFvcyBwb2xpY3ksIGFuZCBzb21lIHF1ZXVl IGxpc3QgZW50cmllcyBhcmUgYXV0b21hdGljYWxseSBjcmVhdGVkIGluc2lkZSB0aGF0IHBvbGlj eSkuDQoNCk5vdGUgdGhhdCBjb25maWcgYWRkZWQgYnkgdGhlIHN5c3RlbSBjb3VsZCBiZSBkZWxl dGFibGUgb3Igbm9uLWRlbGV0YWJsZS4gRm9yIGRlbGV0YWJsZSBpdGVtcyB0aGVyZSB3ZXJlIHNv bWUgcHJldmlvdXMgZGlzY3Vzc2lvbnMgYSBmZXcgeWVhcnMgYWdvIHRoYXQgdGhvc2UgbGlzdCBl bnRyaWVzIGNvdWxkIGJlIHNpbXBseSBhIGRlZmF1bHQgY29uZmlnIHRoYXQgaXMgcG9wdWxhdGVk IGlmIHRoZSBzdGFydHVwIGRhdGFzdG9yZSBpcyBlbXB0eSBhdCBib290IHRpbWUuDQoNClRoZSBz eXN0ZW0gY29uZmlnIGxpc3QgZW50cmllcyBjb3VsZCBhbHNvIGhhdmUgbGVhZnMgdGhhdCBhcmUg bW9kaWZpYWJsZSBhbmQgbGVhZnMgdGhhdCBhcmUgaW1tdXRhYmxlLiBGb3IgdGhlIG1vZGlmaWFi bGUgb2JqZWN0cyBJIHRoaW5rIHRoaXMgaXMgYmFzaWNhbGx5IHRoZSBzeXN0ZW0gbWVyZ2luZyB0 aGUgZXhwbGljaXQgY29uZmlnIHdpdGggdGhlIHN5c3RlbSBjb25maWcgKHdpdGggdGhlIGV4cGxp Y2l0IHRha2luZyBwcmVjZWRlbmNlKS4NCg0KUGVyaGFwcyBhIGxvdCBvZiB0aGlzIHN5c3RlbSBj b25maWcgaXMgYSBsZWdhY3kgaG9sZCBvdmVyIGZyb20gaHVtYW4tZHJpdmVuIENMSXMuIEZvciBt YWNoaW5lIGludGVyZmFjZXMgbWF5YmUgaXQncyByZWFzb25hYmxlIHRvIGhhdmUgY2xpZW50cyBl eHBsaWNpdGx5IGRlZmluZSB0aGVpciBjb25maWcgKmlmKiB0aGV5IG5lZWQgb2ZmbGluZSB2YWxp ZGF0aW9uIG9mIDxydW5uaW5nPiB0byBzdWNjZWVkIChpLmUuIGFsbG93IGNsaWVudHMgdG8gZXhw bGljaXRseSBjb25maWd1cmUgYW55IG9mIHRoZSBzeXN0ZW0gY29uZmlnIHBvbGljaWVzIHRoZXkg YXJlIGFjdHVhbGx5IHVzaW5nICYgcmVmZXJlbmNpbmcpLiAgSW4gbWFueSBjYXNlcywgdXNlcnMg d2FudCB0aGUgIm1hc3RlciIgdmlldyBvZiB0aGUgY29uZmlnIHRvIGxpdmUgdXAgaW4gdGhlIGNs aWVudC9PU1Mgc2lkZSBhbmQganVzdCBwdXNoIGl0IGRvd24gdG8gdGhlIHNlcnZlciAod2l0aG91 dCBoYXZpbmcgdGhlIHNlcnZlciB0b3VjaCB0aGUgY29udGVudHMgb2YgdGhlIHJ1bm5pbmcsIGku ZS4gYSByZWFkLWJhY2sgc2hvdWxkIHJldHVybiBpZGVudGljYWxseSB3aGF0IHdhcyBzZW50KS4N Cg0KSXQgbWlnaHQgYmUgZ29vZCB0byBzZXQgdXAgYSB2aXJ0dWFsIGludGVyaW0gb3IgY2FsbCBv ZiBzb21lIHNvcnQgdG8gZGlzY3VzcyB0aGlzIG9uZS4gSXQgaXMgcHJldHR5IGNvbXBsZXguDQoN Cg0KSSB0aGluayBCYWxhc3ogY2FwdHVyZWQgdGhlIDIgdXNlLWNhc2VzIHZlcnkgd2VsbC4NCls+ PkpUUzogXSBJIGxvb2tlZCBiYWNrIGF0IEJhbGFzeicgZW1haWwgYW5kIEkgZG9uJ3Qgc2VlIGNs ZWFyIHVzZSBjYXNlcy4gRG8geW91IG1lYW4gaGlzIFAxLCBldGMgcHJpbmNpcGxlcyA/DQoNCkZv ciBpbXBsZW1lbnRhdGlvbnMgdGhhdCBjb21iaW5lIHRoZSBzeXN0ZW0gaW50byA8cnVubmluZz4s IHVuZG9pbmcNCnRoaXMgYmVoYXZpb3Igd291bGQgYmUgcXVpdGUgZGlzcnVwdGl2ZSBhbmQgdGhl cmVmb3JlIG5vdCBsaWtlbHkgdG8gYmUgZG9uZS4NCg0KWz4+SlRTOiBdIEknbSBub3QgbmVjZXNz YXJpbHkgYWR2b2NhdGluZyBmb3IgdGhlIGV4aXN0ZW5jZSBvZiBhIDxzeXN0ZW0+IERTLCBidXQg dGhlcmUgYXJlIHZhcmlvdXMgaW1wbGVtZW50YXRpb25zIGZvciB0aGlzIHByb2JsZW0gc3BhY2Ug YW5kIHNvbWUgZG9uJ3QgcHV0IHRoZXNlIHN5c3RlbSBvYmplY3RzIChsaXN0IGVudHJpZXMpIGlu dG8gPHJ1bm5pbmc+LiBJJ20gZG91YnRmdWwgYWJvdXQgYXV0b21hdGljYWxseSBwdXR0aW5nIHN5 c3RlbSBjb25maWcgaW50byA8cnVubmluZz4uIFRoYXQgbWVhbnMgdGhlIGNsaWVudCBubyBsb25n ZXIgcmVhbGx5IG93bnMvY29udHJvbHMgPHJ1bm5pbmc+LiBSZWFkYmFjayB3b24ndCByZXR1cm4g d2hhdCB3YXMgc2VudC4gVGhlIGRlZmluaXRpdmUgPHJ1bm5pbmc+IHdvdWxkIHRoZW4gaGF2ZSB0 byBzaXQgb24gdGhlIHNlcnZlciAoaS5lLiBjYW4ndCBoYXZlIHRoZSBjbGllbnQgYXMgdGhlIGRl ZmluaXRpdmUgdmlldy9vd25lcnNoaXAgb2YgcnVubmluZykuDQoNCkl0IHdvdWxkIGhlbHAgdG8g aGF2ZSBzb21lIGNvbW1vbiB1bmRlcnN0YW5kaW5nIG9mIHRoZSBjb250ZW50cyBvZiA8c3lzdGVt Pi4NCk1heWJlIHN0YXJ0IHdpdGggdGhlIHdlbGwta25vd24gImludGVyZmFjZSBwcm9ibGVtIi4g IFRoZSBzeXN0ZW0gY29uZmlndXJlcyBhbG1vc3QgZW1wdHkgcGh5c2ljYWwgaW50ZXJmYWNlcy4N ClRoZSB1c2VyIGlzIGFsbG93ZWQgdG8gYWRkLCBtb2RpZnksIGFuZCBkZWxldGUgYWxsIGRlc2Nl bmRhbnRzIGV4Y2VwdCB0aGUgIm5hbWUiIGFuZCAidHlwZSIgbGVhZiwNCndoaWNoIGFyZSBzZXQg YnkgdGhlIHN5c3RlbS4NCg0KSW4gdGhpcyBjYXNlIDxydW5uaW5nPiB3aWxsIGhhdmUgdGhlIC9p bnRlcmZhY2VzL2ludGVyZmFjZSBub2RlcyBpbiB0aGVtIChvciBlbHNlIHRoZSBjbGllbnQtYWNj ZXNzaWJsZQ0Kbm9kZXMgY291bGQgbm90IGJlIHJlcHJlc2VudGVkIGluIE5FVENPTkYpLiAgU28g YW55IGNvbmZpZz10cnVlIFhQYXRoIGNhbiBwb2ludCBhdCBuYW1lIG9yIHR5cGUgbGVhZnMNCmlu IDxydW5uaW5nPiBvciA8b3BlcmF0aW9uYWw+Lg0KWz4+SlRTOiBdIEFuIGFsdGVybmF0aXZlIGlz IHRoYXQgdGhlc2UgaW50ZXJmYWNlcyBhcmUgKm5vdCogYWRkZWQgdG8gPHJ1bm5pbmc+IHVubGVz cyBhIGNsaWVudCBleHBsaWNpdGx5IGFkZHMgdGhlbS4gVGhlIHNlcnZlciBjb3VsZCBwb3RlbnRp YWxseSBjb25zaWRlciBsZWFmcmVmcyB0byB0aGVtIHZhbGlkIGV2ZW4gaWYgdGhleSBhcmVuJ3Qg ZXhwbGljaXRseSBhZGRlZC4gQnV0IGlmIGEgdXNlciBoYXMgYSB3b3JrZmxvdyB0aGF0IGRvZXMg b2ZmbGluZSB2YWxpZGF0aW9uLCB0aGVuIHRoZXkgY291bGQgZXhwbGljaXRseSBhZGQgdGhlIGlu dGVyZmFjZXMgaW50byA8cnVubmluZz4NCg0KSSBoYXZlIGhlYXJkIHRoYXQgPHN5c3RlbT4gaXMg bmVlZGVkIGJlY2F1c2UgaXQgaGFzIG5vZGVzIGluIGl0IHRoYXQgZG8gbm90IGV4aXN0DQppbiA8 cnVubmluZz4gb3IgPG9wZXJhdGlvbmFsPiwgYnV0IGNvdWxkIGV4aXN0Lg0KDQpUaGUgcHJlbWlz ZSBpcyB0aGF0IHRoZSBzZXJ2ZXIgY291bGQgaGF2ZSBjcmVhdGVkIHRoZXNlIG5vZGVzDQpidXQg aXQgZGlkIG5vdCBmb3Igc29tZSByZWFzb24uICBBbmQgdGhlIGNsaWVudCBjYW4gaW5zcGVjdCB0 aGVzZSBub2RlcyBhbmQgc29tZWhvdw0KZm9yY2UgdGhlIHNlcnZlciB0byBjaGFuZ2UgdGhlIG5v ZGVzIGl0IGFkZHMgdG8gPHJ1bm5pbmc+LiAoU28gd2hhdCBpcyB0aGUgcmVhbCB1c2UtY2FzZSB0 aGVuPykNCg0KUmV0cmlldmluZyB0aGUgc3lzdGVtLWNyZWF0ZWQgbm9kZXMgd2l0aCBvcmlnaW49 c3lzdGVtIGlzIGFscmVhZHkgc3VwcG9ydGVkIGJ5IE5NREEuDQpbPj5KVFM6IF0gSSBkb24ndCB0 aGluayByZWFkaW5nIHRoZXNlIG5vZGVzIGZyb20gPG9wZXJhdGlvbmFsPiBhZGRyZXNzZXMgdGhl IGlzc3VlLiBDbGllbnRzIGRvIGEgPGdldC1jb25maWc+IGZyb20gPHJ1bm5pbmc+IChvciBtYXli ZSA8aW50ZW5kZWQ+KSBhbmQgd2FudCB0byBiZSBhYmxlIHRvIHZhbGlkYXRlIHRoYXQgY29uZmln IGFnYWluc3QgdGhlIFlBTkcgbW9kZWwgKHdpdGhvdXQgaGF2aW5nIHRvIGRvIGFkZGl0aW9uYWwg cmVhZHMgZnJvbSBvcGVyYXRpb25hbCkuDQoNCg0KDQoNCg0KDQpKYXNvbg0KDQoNCkFuZHkNCg0K DQoNCkZyb206IG5ldG1vZCA8bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmc8bWFpbHRvOm5ldG1vZC1i b3VuY2VzQGlldGYub3JnPj4gT24gQmVoYWxmIE9mIEFuZHkgQmllcm1hbg0KU2VudDogV2VkbmVz ZGF5LCBBdWd1c3QgNCwgMjAyMSA5OjU5IEFNDQpUbzogSnVlcmdlbiBTY2hvZW53YWVsZGVyIDxq LnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU8bWFpbHRvOmouc2Nob2Vud2FlbGRl ckBqYWNvYnMtdW5pdmVyc2l0eS5kZT4+OyBLZW50IFdhdHNlbiA8a2VudEB3YXRzZW4ubmV0PG1h aWx0bzprZW50QHdhdHNlbi5uZXQ+PjsgQW5keSBCaWVybWFuIDxhbmR5QHl1bWF3b3Jrcy5jb208 bWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbT4+OyBOZXRNb2QgV0cgPG5ldG1vZEBpZXRmLm9yZzxt YWlsdG86bmV0bW9kQGlldGYub3JnPj4NClN1YmplY3Q6IFJlOiBbbmV0bW9kXSBzeXN0ZW0gY29u ZmlndXJhdGlvbiBzeW5jIG1lY2hhbmlzbQ0KDQoNCg0KT24gV2VkLCBBdWcgNCwgMjAyMSBhdCA2 OjM5IEFNIErDvHJnZW4gU2Now7Zud8OkbGRlciA8ai5zY2hvZW53YWVsZGVyQGphY29icy11bml2 ZXJzaXR5LmRlPG1haWx0bzpqLnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU+PiB3 cm90ZToNClRoZSBmaWd1cmUgaW4gUkZDIDgzNDIgc2VjdGlvbiA1IGRvY3VtZW50cyB3aGF0IHdh cyBhZ3JlZWQgdXBvbg0KYmVmb3JlLiBTeXN0ZW0gY29uZmlndXJhdGlvbiBmbG93cyBpbnRvIDxv cGVyYXRpb25hbD4gYnV0IG5vdCB1cHdhcmRzDQppbnRvIDxydW5uaW5nPi4gT3ZlciB0aGUgeWVh cnMsIHdlIGRpc2N1c3NlZCBzZXZlcmFsIGNvcm5lciBjYXNlcw0KKGluY2x1ZGluZyB0aGluZ3Mg bGlrZSBjb25maWd1cmluZyBhIG5ldyB1c2VyIGFuZCB0aGUgc3lzdGVtDQphdXRvbWF0aWNhbGx5 IGFzc2lnbnMgYW4gdW51c2VkIHVpZCwgd2hpY2ggYWZ0ZXJ3YXJkcyBuZWVkcyB0byBiZSBrZXB0 DQpzdGFibGUpLiBXaGlsZSB0aGVyZSBhcmUgZm9yIHN1cmUgdHJpY2t5IGNvcm5lciBjYXNlcywg SSBhbSBub3QNCmNvbnZpbmNlZCB0aGF0IHRoZSBtb2RlbCBkZWZpbmVkIGluIFJGQyA4MzQyIGZv ciB0aGUgZ2VuZXJhbCBjYXNlcyBpcw0Kd3JvbmcgYW5kIHRoYXQgbWVyZ2luZyBhIG5ldyBzeXN0 ZW0gZGF0YXN0b3JlIGludG8gPHJ1bm5pbmc+IGlzIHRoZQ0KcmlnaHQgYXBwcm9hY2guIElmIHBl b3BsZSB3YW50IHRvIGNoYW5nZSB0aGUgbW9kZWwgZG9jdW1lbnRlZCBpbiBSRkMNCjgzNDIsIHRo ZW4gdGhleSBzaG91bGQgbWFrZSBhbiBleHBsaWNpdCBzdGF0ZW1lbnQgYWJvdXQgdGhpcyBhbmQN CnByb3ZpZGUgc3Ryb25nIHJlYXNvbnMgdGhhdCB0aGUgbW9kZWwgaXMgZmxhd2VkIG9yIGluY29t cGxldGUuDQoNCk5vdGUgdGhhdCB0aGUgbW9kZWwgZG9lcyBhbGxvdyBoYXZpbmcgYSBzeXN0ZW0g Y2xpZW50IG1lcmdpbmcgY29uZmlnDQppbnRvIDxydW5uaW5nPiAoaWRlYWxseSBjb250cm9sbGVk IGJ5IGFuIEFDTSBzbyB0aGF0IHN1Y2ggYSBjbGllbnQgY2FuDQpiZSB0dXJuZWQgb2ZmIGlmIGl0 IGxlYWRzIHRvIHN1cnByaXNlcykuDQoNCg0KVGhpcyBpcyBhIHNvbHZlZCBwcm9ibGVtIGluIHBy b3ByaWV0YXJ5IHdheXMuICBJdCBpcyBzaW1wbGUgdG8gdHJlYXQgc3lzdGVtIGNvbmZpZw0KYXMg YW4gYWNjZXNzIGNvbnRyb2wgaXNzdWUuDQoNCkkgYW0gcXVpdGUgY29uY2VybmVkIHRoYXQgTk1E QSBpcyBnZXR0aW5nIGV4dGVuZGVkIGluIHdheXMgdGhhdCBsZWFkIHRvDQpjb25mdXNpb24gYW5k IHBvb3IgaW50ZXJvcGVyYWJpbGl0eS4gIEFkZGluZyBhIG5ldyBkYXRhc3RvcmUgaXMgdmVyeSBz ZXJpb3VzLg0KSU1PIEFOWSBuZXcgZGF0YXN0b3JlIChldmVuIGZhY3RvcnkgZGVmYXVsdCkgc2hv dWxkIGJlIHN0YW5kYXJkaXplZCBpbg0KYSBuZXcgdmVyc2lvbiBvZiBOTURBIChyZXBsYWNpbmcg UkZDIDgzNDIpLg0KDQpBIGRhdGFzdG9yZSBoYXMgYSBsb3Qgb2YgYmFnZ2FnZQ0KICAgLSBZQU5H IGxpYnJhcnkNCiAgIC0gWUFORyBYUGF0aCBldmFsdWF0aW9uDQogICAtIHN1YnRyZWUgYW5kIFhQ YXRoIGZpbHRlcmVkIHJldHJpZXZhbA0KICAgLSB1c2FnZSBpbiBSUEMgb3BlcmF0aW9ucyAoZHM6 ZGF0YXN0b3JlIGRhdGEgdHlwZSBwYXJhbWV0ZXIpDQoNCkV2ZXJ5IHRpbWUgYSBkYXRhc3RvcmUg aXMgYWRkZWQsIGFsbCB0aGUgZXhpc3RpbmcgUlBDIG9wZXJhdGlvbnMgdGhhdCB1c2UNCmRhdGFz dG9yZXMgbmVlZCB0byBiZSBjbGFyaWZpZWQgd3J0LyBzdXBwb3J0IGZvciB0aGUgbmV3IGRhdGFz dG9yZS4NCihPZiBjb3Vyc2UgdGhpcyBpcyBuZXZlciBkb25lLCBsZWFkaW5nIHRvIGxvdHMgb2Yg aW50ZXJvcGVyYWJpbGl0eSBpc3N1ZXMpDQoNCkkgYW0gcXVpdGUgY29uZnVzZWQgYnkgdGhlIFhQ YXRoIGRpc2N1c3Npb25zIGJlY2F1c2UgWFBhdGggY2FuIG9ubHkNCmFjY2VzcyBleGlzdGluZyBu b2RlcyAoaS5lLiB0aGUgImFjY2Vzc2libGUgdHJlZSIpDQpodHRwczovL2RhdGF0cmFja2VyLmll dGYub3JnL2RvYy9odG1sL3JmYzc5NTAjc2VjdGlvbi02LjQuMQ0KDQpTbyB3aGF0IGRvZXMgaXQg bWVhbiBmb3IgdGhlIHN5c3RlbSBkYXRhc3RvcmUgdG8gY29udGFpbiBwb3NzaWJsZSB2YWx1ZXMg dGhhdA0KY2Fubm90IGJlIHJlcHJlc2VudGVkIGluIDxvcGVyYXRpb25hbD4/IFRoZSBhY2Nlc3Np YmxlIHRyZWUgY2Fubm90IGluY2x1ZGUNCnRoZXNlIHZhbHVlcywgc28gWFBhdGgtYmFzZWQgdmFs aWRhdGlvbiBjYW5ub3QgdXNlIHRoZW0uDQoNCg0KDQovanMNCg0KDQpBbmR5DQoNCg0KT24gV2Vk LCBBdWcgMDQsIDIwMjEgYXQgMTI6MzQ6NDVQTSArMDAwMCwgS2VudCBXYXRzZW4gd3JvdGU6DQo+ DQo+IEkgYW0gY29uZnVzZWQgYnkgdGhlIGNvbmZ1c2lvbiAgOykNCj4NCj4gWW91IGFsbCBrbm93 IHRoYXQgSlVOT1MgaW1wbGVtZW50ZWQgdGhpcyBjb25jZXB0IGJlZm9yZSBZQU5HIHdhcyBldmVu IGEgdGhpbmcsIHJpZ2h0Pw0KPg0KPiBBZG1pdHRlZGx5LCBpdOKAmXMgbm90IGEg4oCcZGF0YXN0 b3Jl4oCcLCBidXQgZmxleGluZyB0aGUgTk1EQSBpcyB3aGVyZSB3ZSBjYW4gZG8gYmV0dGVyLg0K Pg0KPiBBIOKAnHdpdGgtc3lzdGVt4oCdIG1lY2hhbmlzbSBjb3VsZCBhbHNvIHdvcmsuICBUaGUg b25seSBkb3duc2lkZSBpcyB0aGUgaW5hYmlsaXR5IGZvciBhIGNsaWVudCB0byBnZXQgb25seSB0 aGUgc3lzdGVtIGNvbmZpZ3VyYXRpb24sIHdpdGhvdXQgdGhlIHJlc3Qgb2YgPHJ1bm5pbmc+Lg0K Pg0KPiBQbGVhc2Ugc3RvcCBzdGF0aW5nL3N1Z2dlc3Rpbmcg4oCcY29uZmlnIHRydWXigJ0gbm9k ZXMgYXJlIHJlZmVyZW5jaW5nIOKAnGNvbmZpZyBmYWxzZeKAnSBub2RlcywgIG9yIHRoYXQgY29u ZmlnIGlzIHJlZmVyZW5jaW5nIG9wZXJhdGlvbmFsIHN0YXRlLiAgVGhlcmUgaXMgbm8gaW50ZW50 aW9uIHRvIGJyZWFrIGVpdGhlciBvZiB0aGVzZSB0ZW5hbnRzIGhlcmUuDQo+DQo+IEkgdGhpbmsg dGhhdCBzb21lIGZvbGtzIGp1c3Qgam9pbmVkIHRoZSBjb252ZXJzYXRpb24gYW5kIG1heSBoYXZl IG1pc3NlZCBvdXQgd2hlbiB3ZSBjb3ZlcmVkIGFsbCB0aGlzIGJlZm9yZS4NCj4NCj4gVGhlIGRy YWZ0IG5lZWRzIHRvIGJlIHVwZGF0ZWQgdG8gbW9yZSBjbGVhcmx5IGlkZW50aWZ5IHRoZSBnb2Fs cy4NCj4NCj4gSy4NCj4NCj4NCj4NCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18NCj4gbmV0bW9kIG1haWxpbmcgbGlzdA0KPiBuZXRtb2RAaWV0Zi5vcmc8 bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz4NCj4gaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9s aXN0aW5mby9uZXRtb2QNCg0KLS0NCkp1ZXJnZW4gU2Nob2Vud2FlbGRlciAgICAgICAgICAgSmFj b2JzIFVuaXZlcnNpdHkgQnJlbWVuIGdHbWJIDQpQaG9uZTogKzQ5IDQyMSAyMDAgMzU4NyAgICAg ICAgIENhbXB1cyBSaW5nIDEgfCAyODc1OSBCcmVtZW4gfCBHZXJtYW55DQpGYXg6ICAgKzQ5IDQy MSAyMDAgMzEwMyAgICAgICAgIDxodHRwczovL3d3dy5qYWNvYnMtdW5pdmVyc2l0eS5kZS8+DQo= --_000_DM6PR08MB5084455E315E53F63BF7C9D29BFA9DM6PR08MB5084namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6eD0idXJuOnNjaGVtYXMtbWljcm9z b2Z0LWNvbTpvZmZpY2U6ZXhjZWwiIHhtbG5zOm09Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j b20vb2ZmaWNlLzIwMDQvMTIvb21tbCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1o dG1sNDAiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+DQo8bWV0YSBuYW1lPSJHZW5lcmF0b3IiIGNvbnRl bnQ9Ik1pY3Jvc29mdCBXb3JkIDE1IChmaWx0ZXJlZCBtZWRpdW0pIj4NCjxzdHlsZT48IS0tDQov KiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJDYW1icmlh IE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtm b250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30NCi8q IFN0eWxlIERlZmluaXRpb25zICovDQpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNv Tm9ybWFsDQoJe21hcmdpbjowY207DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToi Q2FsaWJyaSIsc2Fucy1zZXJpZjt9DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1z dHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxp bmU7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTgNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7 DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJY29sb3I6d2luZG93dGV4dDt9 DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LWZh bWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgltc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUzt9 DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7DQoJbWFyZ2luOjcy LjBwdCA3Mi4wcHQgNzIuMHB0IDcyLjBwdDt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29y ZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFw ZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZd LS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+ DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3ht bD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLUNBIiBsaW5rPSJibHVlIiB2 bGluaz0icHVycGxlIiBzdHlsZT0id29yZC13cmFwOmJyZWFrLXdvcmQiPg0KPGRpdiBjbGFzcz0i V29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFy ZWFzdC1sYW5ndWFnZTpFTi1VUyI+SGkgQW5keSw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMi PlBscyBzZWUgaW5saW5lLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+SmFzb248bzpwPjwv bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZh cmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYg c3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzow Y20gMGNtIDBjbSA0LjBwdCI+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVy LXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20iPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gbGFuZz0iRU4tVVMiPkZyb206PC9zcGFuPjwvYj48 c3BhbiBsYW5nPSJFTi1VUyI+IEFuZHkgQmllcm1hbiAmbHQ7YW5keUB5dW1hd29ya3MuY29tJmd0 Ow0KPGJyPg0KPGI+U2VudDo8L2I+IE1vbmRheSwgQXVndXN0IDksIDIwMjEgNjoyMyBQTTxicj4N CjxiPlRvOjwvYj4gU3Rlcm5lLCBKYXNvbiAoTm9raWEgLSBDQS9PdHRhd2EpICZsdDtqYXNvbi5z dGVybmVAbm9raWEuY29tJmd0Ozxicj4NCjxiPkNjOjwvYj4gSnVlcmdlbiBTY2hvZW53YWVsZGVy ICZsdDtqLnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGUmZ3Q7OyBLZW50IFdhdHNl biAmbHQ7a2VudEB3YXRzZW4ubmV0Jmd0OzsgTmV0TW9kIFdHICZsdDtuZXRtb2RAaWV0Zi5vcmcm Z3Q7PGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBbbmV0bW9kXSBzeXN0ZW0gY29uZmlndXJhdGlv biBzeW5jIG1lY2hhbmlzbTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxkaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIj5PbiBNb24sIEF1ZyA5LCAyMDIxIGF0IDI6NTEgUE0gU3Rlcm5lLCBK YXNvbiAoTm9raWEgLSBDQS9PdHRhd2EpICZsdDs8YSBocmVmPSJtYWlsdG86amFzb24uc3Rlcm5l QG5va2lhLmNvbSI+amFzb24uc3Rlcm5lQG5va2lhLmNvbTwvYT4mZ3Q7IHdyb3RlOjxvOnA+PC9v OnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxl ZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1s ZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20iPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t YWx0OmF1dG8iPkhpIGd1eXMsPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i PiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5JJ20gbGF0ZSB0 byB0aGUgZ2FtZSBvbiB0aGlzIHRocmVhZCBidXQgSSBkaWQgcmVhZCB0aHJvdWdoIHRoZSBlbnRp cmUgdGhpbmcgKHdoZXcgLSBjYW4ndCBwcm9taXNlIEkgYWJzb3JiZWQgZXZlcnkgbnVhbmNlIHRo b3VnaCkuIEkgYW0gZmFtaWxpYXIgd2l0aCB0aGlzIGlzc3VlLiBJJ3ZlIGJlZW4gZGVhbGluZw0K IHdpdGggaXQgZnJvbSB0aGUgc2VydmVyIGltcGxlbWVudGF0aW9uIHNpZGUgKHNvbWUgY2xpZW50 cyAqPGI+ZG88L2I+KiBjb21wbGFpbiBpZiB0aGVyZSBhcmUgcmVmZXJlbmNlcyB0byBtaXNzaW5n ICZxdW90O3N5c3RlbSBjb25maWcmcXVvdDsgbGlzdCBlbnRyaWVzKS48bzpwPjwvbzpwPjwvcD4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0 b20tYWx0OmF1dG8iPk9uZSBvZiB0aGUgcHJldHR5IGZ1bmRhbWVudGFsIGlzc3VlcyBJTU8gaXMg d2hldGhlciB3ZSB3YW50IGdvb2Qgb2wnIHN0YW5kYXJkICZsdDtydW5uaW5nJmd0OyB0byBhbHdh eXMgYmUgdmFsaWQgKGluY2x1ZGluZyBmb3IgYW4gb2ZmbGluZSBjbGllbnQgb3IgdG9vbCB0byBi ZSBhYmxlIHRvIHZhbGlkYXRlIGluc3RhbmNlDQogZGF0YSByZXRyaWV2ZWQgZnJvbSBhIHNlcnZl ciBhZ2FpbnN0IHRoZSBZQU5HIG1vZGVscykuIEV2ZW4gd2l0aG91dCB0aGlzICZxdW90O3N5c3Rl bSBjb25maWcmcXVvdDsgdG9waWMsIHdlIGFscmVhZHkgaGF2ZSBhIGxvb21pbmcgcHJvYmxlbSB3 aXRoIGNvbmZpZyB0ZW1wbGF0ZXMgJmFtcDsgZXhwYW5zaW9uLiZuYnNwOyBTZXJ2ZXJzIHdpdGgg WUFORyBtb2RlbHMgdGhhdCBkb2N1bWVudCBhIGxvdCBvZiBjb25zdHJhaW50cyAoZS5nLiBsZWFm cmVmcywgbWFuZGF0b3J5IHN0YXRlbWVudHMsDQogZXRjKSBhcmUgbW9yZSBsaWtlbHkgdG8gaGl0 IHRoaXMgaXNzdWUgb2YgYW4gaW52YWxpZCBydW5uaW5nIGNvbmZpZyAob2ZmbGluZSkuPG86cD48 L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0 OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0K PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t YXJnaW4tYm90dG9tLWFsdDphdXRvIj5JJ20gZG91YnRmdWwgdGhhdCBpdCBpcyBlYXN5IGZvciBh IGNsaWVudCB0byBrbm93IGhvdyB0ZW1wbGF0ZXMgYXJlIGV4cGFuZGVkIGZvciBhbGwgZ2l2ZW4g c2VydmVycy4gVW5sZXNzIHRoYXQgZXhwYW5zaW9uIGlzIGZ1bGx5IHN0YW5kYXJkaXplZCAod2hp Y2ggd291bGQgYmUgY2hhbGxlbmdpbmcgZ2l2ZW4NCiBtdWx0aXBsZSBkaWZmZXJlbnQgc2hpcHBp bmcgaW1wbGVtZW50YXRpb25zIGluIHRoZSBpbmR1c3RyeSksIHRoZXJlIGNhbiBiZSBzb21lIHN1 YnRsZSBjb3JuZXIgY2FzZXMgYW5kIGl0IGNhbiBiZSBjb21wbGV4IChtdWx0aXBsZSBsZXZlbHMg b2YgdGVtcGxhdGUgYXBwbGljYXRpb24sIGV4Y2x1c2lvbiBydWxlcywgZXRjKS48bzpwPjwvbzpw PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0 bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp bi1ib3R0b20tYWx0OmF1dG8iPkkgYWdyZWUgdGhlcmUgY2FuIGJlIGR5bmFtaWNhbGx5IGFkZGVk IHN5c3RlbSBjb25maWcgKGUuZy4gY3JlYXRlIGEgbmV3IHFvcyBwb2xpY3ksIGFuZCBzb21lIHF1 ZXVlIGxpc3QgZW50cmllcyBhcmUgYXV0b21hdGljYWxseSBjcmVhdGVkIGluc2lkZSB0aGF0IHBv bGljeSkuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+ PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5Ob3RlIHRoYXQgY29uZmlnIGFkZGVk IGJ5IHRoZSBzeXN0ZW0gY291bGQgYmUgZGVsZXRhYmxlIG9yIG5vbi1kZWxldGFibGUuIEZvciBk ZWxldGFibGUgaXRlbXMgdGhlcmUgd2VyZSBzb21lIHByZXZpb3VzIGRpc2N1c3Npb25zIGEgZmV3 IHllYXJzIGFnbyB0aGF0IHRob3NlIGxpc3QgZW50cmllcyBjb3VsZA0KIGJlIHNpbXBseSBhIGRl ZmF1bHQgY29uZmlnIHRoYXQgaXMgcG9wdWxhdGVkIGlmIHRoZSBzdGFydHVwIGRhdGFzdG9yZSBp cyBlbXB0eSBhdCBib290IHRpbWUuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1 dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5UaGUgc3lz dGVtIGNvbmZpZyBsaXN0IGVudHJpZXMgY291bGQgYWxzbyBoYXZlIGxlYWZzIHRoYXQgYXJlIG1v ZGlmaWFibGUgYW5kIGxlYWZzIHRoYXQgYXJlIGltbXV0YWJsZS4gRm9yIHRoZSBtb2RpZmlhYmxl IG9iamVjdHMgSSB0aGluayB0aGlzIGlzIGJhc2ljYWxseSB0aGUgc3lzdGVtIG1lcmdpbmcgdGhl DQogZXhwbGljaXQgY29uZmlnIHdpdGggdGhlIHN5c3RlbSBjb25maWcgKHdpdGggdGhlIGV4cGxp Y2l0IHRha2luZyBwcmVjZWRlbmNlKS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6 YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPlBlcmhh cHMgYSBsb3Qgb2YgdGhpcyBzeXN0ZW0gY29uZmlnIGlzIGEgbGVnYWN5IGhvbGQgb3ZlciBmcm9t IGh1bWFuLWRyaXZlbiBDTElzLiBGb3IgbWFjaGluZSBpbnRlcmZhY2VzIG1heWJlIGl0J3MgcmVh c29uYWJsZSB0byBoYXZlIGNsaWVudHMgZXhwbGljaXRseSBkZWZpbmUgdGhlaXIgY29uZmlnICo8 Yj5pZjwvYj4qDQogdGhleSBuZWVkIG9mZmxpbmUgdmFsaWRhdGlvbiBvZiAmbHQ7cnVubmluZyZn dDsgdG8gc3VjY2VlZCAoaS5lLiBhbGxvdyBjbGllbnRzIHRvIGV4cGxpY2l0bHkgY29uZmlndXJl IGFueSBvZiB0aGUgc3lzdGVtIGNvbmZpZyBwb2xpY2llcyB0aGV5IGFyZSBhY3R1YWxseSB1c2lu ZyAmYW1wOyByZWZlcmVuY2luZykuJm5ic3A7IEluIG1hbnkgY2FzZXMsIHVzZXJzIHdhbnQgdGhl ICZxdW90O21hc3RlciZxdW90OyB2aWV3IG9mIHRoZSBjb25maWcgdG8gbGl2ZSB1cCBpbiB0aGUg Y2xpZW50L09TUw0KIHNpZGUgYW5kIGp1c3QgcHVzaCBpdCBkb3duIHRvIHRoZSBzZXJ2ZXIgKHdp dGhvdXQgaGF2aW5nIHRoZSBzZXJ2ZXIgdG91Y2ggdGhlIGNvbnRlbnRzIG9mIHRoZSBydW5uaW5n LCBpLmUuIGEgcmVhZC1iYWNrIHNob3VsZCByZXR1cm4gaWRlbnRpY2FsbHkgd2hhdCB3YXMgc2Vu dCkuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9v OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5JdCBtaWdodCBiZSBnb29kIHRvIHNldCB1 cCBhIHZpcnR1YWwgaW50ZXJpbSBvciBjYWxsIG9mIHNvbWUgc29ydCB0byBkaXNjdXNzIHRoaXMg b25lLiBJdCBpcyBwcmV0dHkgY29tcGxleC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+ DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8 L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNw OzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkkgdGhpbmsg QmFsYXN6IGNhcHR1cmVkIHRoZSAyIHVzZS1jYXNlcyB2ZXJ5IHdlbGwuPG86cD48L286cD48L3A+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48aT5bJmd0OyZndDtKVFM6IF0gSSBsb29rZWQgYmFj ayBhdCBCYWxhc3onIGVtYWlsIGFuZCBJIGRvbid0IHNlZSBjbGVhciB1c2UgY2FzZXMuIERvIHlv dSBtZWFuIGhpcyBQMSwgZXRjIHByaW5jaXBsZXMgPzxvOnA+PC9vOnA+PC9pPjwvYj48L3A+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkZvciBpbXBsZW1lbnRhdGlvbnMgdGhhdCBjb21iaW5lIHRo ZSBzeXN0ZW0gaW50byAmbHQ7cnVubmluZyZndDssIHVuZG9pbmc8bzpwPjwvbzpwPjwvcD4NCjwv ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnRoaXMgYmVoYXZpb3Igd291bGQgYmUg cXVpdGUgZGlzcnVwdGl2ZSBhbmQgdGhlcmVmb3JlIG5vdCBsaWtlbHkgdG8gYmUgZG9uZS48bzpw PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxpPjxvOnA+Jm5ic3A7PC9vOnA+ PC9pPjwvYj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48aT5bJmd0OyZndDtKVFM6IF0g SSdtIG5vdCBuZWNlc3NhcmlseSBhZHZvY2F0aW5nIGZvciB0aGUgZXhpc3RlbmNlIG9mIGEgJmx0 O3N5c3RlbSZndDsgRFMsIGJ1dCB0aGVyZSBhcmUgdmFyaW91cyBpbXBsZW1lbnRhdGlvbnMgZm9y IHRoaXMgcHJvYmxlbSBzcGFjZSBhbmQgc29tZSBkb24ndCBwdXQgdGhlc2Ugc3lzdGVtIG9iamVj dHMgKGxpc3QgZW50cmllcykgaW50byAmbHQ7cnVubmluZyZndDsuIEknbSBkb3VidGZ1bCBhYm91 dCBhdXRvbWF0aWNhbGx5DQogcHV0dGluZyBzeXN0ZW0gY29uZmlnIGludG8gJmx0O3J1bm5pbmcm Z3Q7LiBUaGF0IG1lYW5zIHRoZSBjbGllbnQgbm8gbG9uZ2VyIHJlYWxseSBvd25zL2NvbnRyb2xz ICZsdDtydW5uaW5nJmd0Oy4gUmVhZGJhY2sgd29uJ3QgcmV0dXJuIHdoYXQgd2FzIHNlbnQuIFRo ZSBkZWZpbml0aXZlICZsdDtydW5uaW5nJmd0OyB3b3VsZCB0aGVuIGhhdmUgdG8gc2l0IG9uIHRo ZSBzZXJ2ZXIgKGkuZS4gY2FuJ3QgaGF2ZSB0aGUgY2xpZW50IGFzIHRoZSBkZWZpbml0aXZlIHZp ZXcvb3duZXJzaGlwDQogb2YgcnVubmluZykuPC9pPjwvYj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2 Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9k aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SXQgd291bGQgaGVscCB0byBoYXZlIHNv bWUgY29tbW9uIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGNvbnRlbnRzIG9mICZsdDtzeXN0ZW0mZ3Q7 LjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+TWF5 YmUgc3RhcnQgd2l0aCB0aGUgd2VsbC1rbm93biAmcXVvdDtpbnRlcmZhY2UgcHJvYmxlbSZxdW90 Oy4mbmJzcDsgVGhlIHN5c3RlbSBjb25maWd1cmVzIGFsbW9zdCBlbXB0eSBwaHlzaWNhbCBpbnRl cmZhY2VzLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+VGhlIHVzZXIgaXMgYWxsb3dlZCB0byBhZGQsIG1vZGlmeSwgYW5kIGRlbGV0ZSBhbGwgZGVz Y2VuZGFudHMgZXhjZXB0IHRoZSAmcXVvdDtuYW1lJnF1b3Q7IGFuZCAmcXVvdDt0eXBlJnF1b3Q7 IGxlYWYsPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij53aGljaCBhcmUgc2V0IGJ5IHRoZSBzeXN0ZW0uPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxk aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0K PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkluIHRoaXMgY2FzZSAmbHQ7cnVubmluZyZndDsg d2lsbCBoYXZlIHRoZSAvaW50ZXJmYWNlcy9pbnRlcmZhY2Ugbm9kZXMgaW4gdGhlbSAob3IgZWxz ZSB0aGUgY2xpZW50LWFjY2Vzc2libGU8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPm5vZGVzIGNvdWxkIG5vdCBiZSByZXByZXNlbnRlZCBpbiBORVRD T05GKS4mbmJzcDsgU28gYW55IGNvbmZpZz10cnVlIFhQYXRoIGNhbiBwb2ludCBhdCBuYW1lIG9y IHR5cGUgbGVhZnM8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O b3JtYWwiPmluICZsdDtydW5uaW5nJmd0OyBvciAmbHQ7b3BlcmF0aW9uYWwmZ3Q7LjxvOnA+PC9v OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PGk+WyZndDsmZ3Q7SlRTOiBdIEFuIGFs dGVybmF0aXZlIGlzIHRoYXQgdGhlc2UgaW50ZXJmYWNlcyBhcmUgKm5vdCogYWRkZWQgdG8gJmx0 O3J1bm5pbmcmZ3Q7IHVubGVzcyBhIGNsaWVudCBleHBsaWNpdGx5IGFkZHMgdGhlbS4gVGhlIHNl cnZlciBjb3VsZCBwb3RlbnRpYWxseSBjb25zaWRlciBsZWFmcmVmcyB0byB0aGVtIHZhbGlkIGV2 ZW4gaWYgdGhleSBhcmVuJ3QgZXhwbGljaXRseSBhZGRlZC4gQnV0IGlmIGEgdXNlcg0KIGhhcyBh IHdvcmtmbG93IHRoYXQgZG9lcyBvZmZsaW5lIHZhbGlkYXRpb24sIHRoZW4gdGhleSBjb3VsZCBl eHBsaWNpdGx5IGFkZCB0aGUgaW50ZXJmYWNlcyBpbnRvICZsdDtydW5uaW5nJmd0OzwvaT48L2I+ PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpw PiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkkg aGF2ZSBoZWFyZCB0aGF0ICZsdDtzeXN0ZW0mZ3Q7IGlzIG5lZWRlZCBiZWNhdXNlIGl0IGhhcyBu b2RlcyBpbiBpdCB0aGF0IGRvIG5vdCBleGlzdDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+aW4gJmx0O3J1bm5pbmcmZ3Q7IG9yICZsdDtvcGVyYXRp b25hbCZndDssIGJ1dCBjb3VsZCBleGlzdC4mbmJzcDsmbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhlIHByZW1pc2UgaXMgdGhhdCB0aGUgc2VydmVyIGNvdWxk IGhhdmUgY3JlYXRlZCB0aGVzZSBub2RlczxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+YnV0IGl0IGRpZCBub3QgZm9yIHNvbWUgcmVhc29uLiZuYnNw OyBBbmQgdGhlIGNsaWVudCBjYW4gaW5zcGVjdCB0aGVzZSBub2RlcyBhbmQgc29tZWhvdzxvOnA+ PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Zm9yY2UgdGhl IHNlcnZlciB0byBjaGFuZ2UgdGhlIG5vZGVzIGl0IGFkZHMgdG8gJmx0O3J1bm5pbmcmZ3Q7LiAo U28gd2hhdCBpcyB0aGUgcmVhbCB1c2UtY2FzZSB0aGVuPyk8bzpwPjwvbzpwPjwvcD4NCjwvZGl2 Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9k aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+UmV0cmlldmluZyB0aGUgc3lzdGVtLWNy ZWF0ZWQgbm9kZXMgd2l0aCBvcmlnaW49c3lzdGVtIGlzIGFscmVhZHkgc3VwcG9ydGVkIGJ5IE5N REEuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48aT5bJmd0OyZndDtK VFM6IF0gSSBkb24ndCB0aGluayByZWFkaW5nIHRoZXNlIG5vZGVzIGZyb20gJmx0O29wZXJhdGlv bmFsJmd0OyBhZGRyZXNzZXMgdGhlIGlzc3VlLiBDbGllbnRzIGRvIGEgJmx0O2dldC1jb25maWcm Z3Q7IGZyb20gJmx0O3J1bm5pbmcmZ3Q7IChvciBtYXliZSAmbHQ7aW50ZW5kZWQmZ3Q7KSBhbmQg d2FudCB0byBiZSBhYmxlIHRvIHZhbGlkYXRlIHRoYXQgY29uZmlnIGFnYWluc3QgdGhlIFlBTkcg bW9kZWwgKHdpdGhvdXQgaGF2aW5nDQogdG8gZG8gYWRkaXRpb25hbCByZWFkcyBmcm9tIG9wZXJh dGlvbmFsKS48L2k+PC9iPjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2Nr cXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7 cGFkZGluZzowY20gMGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6 MGNtIj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwv bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6 YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+SmFzb248bzpwPjwvbzpwPjwvcD4NCjwv ZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPkFuZHk8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9y ZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20g MGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20iPg0KPGRpdj4NCjxk aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87 bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t Ym90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXYgc3R5bGU9ImJvcmRl cjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzowY20gMGNtIDBjbSA0 LjBwdCI+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAj RTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20iPg0KPHAgY2xhc3M9Ik1zb05v cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs dDphdXRvIj48Yj48c3BhbiBsYW5nPSJFTi1VUyI+RnJvbTo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9 IkVOLVVTIj4gbmV0bW9kICZsdDs8YSBocmVmPSJtYWlsdG86bmV0bW9kLWJvdW5jZXNAaWV0Zi5v cmciIHRhcmdldD0iX2JsYW5rIj5uZXRtb2QtYm91bmNlc0BpZXRmLm9yZzwvYT4mZ3Q7DQo8Yj5P biBCZWhhbGYgT2YgPC9iPkFuZHkgQmllcm1hbjxicj4NCjxiPlNlbnQ6PC9iPiBXZWRuZXNkYXks IEF1Z3VzdCA0LCAyMDIxIDk6NTkgQU08YnI+DQo8Yj5Ubzo8L2I+IEp1ZXJnZW4gU2Nob2Vud2Fl bGRlciAmbHQ7PGEgaHJlZj0ibWFpbHRvOmouc2Nob2Vud2FlbGRlckBqYWNvYnMtdW5pdmVyc2l0 eS5kZSIgdGFyZ2V0PSJfYmxhbmsiPmouc2Nob2Vud2FlbGRlckBqYWNvYnMtdW5pdmVyc2l0eS5k ZTwvYT4mZ3Q7OyBLZW50IFdhdHNlbiAmbHQ7PGEgaHJlZj0ibWFpbHRvOmtlbnRAd2F0c2VuLm5l dCIgdGFyZ2V0PSJfYmxhbmsiPmtlbnRAd2F0c2VuLm5ldDwvYT4mZ3Q7OyBBbmR5IEJpZXJtYW4g Jmx0OzxhIGhyZWY9Im1haWx0bzphbmR5QHl1bWF3b3Jrcy5jb20iIHRhcmdldD0iX2JsYW5rIj5h bmR5QHl1bWF3b3Jrcy5jb208L2E+Jmd0OzsNCiBOZXRNb2QgV0cgJmx0OzxhIGhyZWY9Im1haWx0 bzpuZXRtb2RAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj5uZXRtb2RAaWV0Zi5vcmc8L2E+Jmd0 Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogW25ldG1vZF0gc3lzdGVtIGNvbmZpZ3VyYXRpb24g c3luYyBtZWNoYW5pc208L3NwYW4+PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn aW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t YXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn aW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t YXJnaW4tYm90dG9tLWFsdDphdXRvIj5PbiBXZWQsIEF1ZyA0LCAyMDIxIGF0IDY6MzkgQU0gSsO8 cmdlbiBTY2jDtm53w6RsZGVyICZsdDs8YSBocmVmPSJtYWlsdG86ai5zY2hvZW53YWVsZGVyQGph Y29icy11bml2ZXJzaXR5LmRlIiB0YXJnZXQ9Il9ibGFuayI+ai5zY2hvZW53YWVsZGVyQGphY29i cy11bml2ZXJzaXR5LmRlPC9hPiZndDsgd3JvdGU6PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxi bG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEu MHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRv cDo1LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206NS4wcHQiPg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90 dG9tLWFsdDphdXRvIj5UaGUgZmlndXJlIGluIFJGQyA4MzQyIHNlY3Rpb24gNSBkb2N1bWVudHMg d2hhdCB3YXMgYWdyZWVkIHVwb248YnI+DQpiZWZvcmUuIFN5c3RlbSBjb25maWd1cmF0aW9uIGZs b3dzIGludG8gJmx0O29wZXJhdGlvbmFsJmd0OyBidXQgbm90IHVwd2FyZHM8YnI+DQppbnRvICZs dDtydW5uaW5nJmd0Oy4gT3ZlciB0aGUgeWVhcnMsIHdlIGRpc2N1c3NlZCBzZXZlcmFsIGNvcm5l ciBjYXNlczxicj4NCihpbmNsdWRpbmcgdGhpbmdzIGxpa2UgY29uZmlndXJpbmcgYSBuZXcgdXNl ciBhbmQgdGhlIHN5c3RlbTxicj4NCmF1dG9tYXRpY2FsbHkgYXNzaWducyBhbiB1bnVzZWQgdWlk LCB3aGljaCBhZnRlcndhcmRzIG5lZWRzIHRvIGJlIGtlcHQ8YnI+DQpzdGFibGUpLiBXaGlsZSB0 aGVyZSBhcmUgZm9yIHN1cmUgdHJpY2t5IGNvcm5lciBjYXNlcywgSSBhbSBub3Q8YnI+DQpjb252 aW5jZWQgdGhhdCB0aGUgbW9kZWwgZGVmaW5lZCBpbiBSRkMgODM0MiBmb3IgdGhlIGdlbmVyYWwg Y2FzZXMgaXM8YnI+DQp3cm9uZyBhbmQgdGhhdCBtZXJnaW5nIGEgbmV3IHN5c3RlbSBkYXRhc3Rv cmUgaW50byAmbHQ7cnVubmluZyZndDsgaXMgdGhlPGJyPg0KcmlnaHQgYXBwcm9hY2guIElmIHBl b3BsZSB3YW50IHRvIGNoYW5nZSB0aGUgbW9kZWwgZG9jdW1lbnRlZCBpbiBSRkM8YnI+DQo4MzQy LCB0aGVuIHRoZXkgc2hvdWxkIG1ha2UgYW4gZXhwbGljaXQgc3RhdGVtZW50IGFib3V0IHRoaXMg YW5kPGJyPg0KcHJvdmlkZSBzdHJvbmcgcmVhc29ucyB0aGF0IHRoZSBtb2RlbCBpcyBmbGF3ZWQg b3IgaW5jb21wbGV0ZS48YnI+DQo8YnI+DQpOb3RlIHRoYXQgdGhlIG1vZGVsIGRvZXMgYWxsb3cg aGF2aW5nIGEgc3lzdGVtIGNsaWVudCBtZXJnaW5nIGNvbmZpZzxicj4NCmludG8gJmx0O3J1bm5p bmcmZ3Q7IChpZGVhbGx5IGNvbnRyb2xsZWQgYnkgYW4gQUNNIHNvIHRoYXQgc3VjaCBhIGNsaWVu dCBjYW48YnI+DQpiZSB0dXJuZWQgb2ZmIGlmIGl0IGxlYWRzIHRvIHN1cnByaXNlcykuPG86cD48 L286cD48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5 bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4m bmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0 byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0 OmF1dG8iPlRoaXMgaXMgYSBzb2x2ZWQgcHJvYmxlbSBpbiBwcm9wcmlldGFyeSB3YXlzLiZuYnNw OyBJdCBpcyBzaW1wbGUgdG8gdHJlYXQgc3lzdGVtIGNvbmZpZzxvOnA+PC9vOnA+PC9wPg0KPC9k aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5hcyBhbiBhY2Nlc3MgY29udHJvbCBp c3N1ZS4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h bHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0 b20tYWx0OmF1dG8iPkkgYW0gcXVpdGUgY29uY2VybmVkIHRoYXQgTk1EQSBpcyBnZXR0aW5nIGV4 dGVuZGVkIGluIHdheXMgdGhhdCBsZWFkIHRvPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPmNvbmZ1c2lvbiBhbmQgcG9vciBpbnRlcm9wZXJhYmls aXR5LiZuYnNwOyBBZGRpbmcgYSBuZXcgZGF0YXN0b3JlIGlzIHZlcnkgc2VyaW91cy48bzpwPjwv bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+SU1PIEFOWSBu ZXcgZGF0YXN0b3JlIChldmVuIGZhY3RvcnkgZGVmYXVsdCkgc2hvdWxkIGJlIHN0YW5kYXJkaXpl ZCBpbjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv Ij5hIG5ldyB2ZXJzaW9uIG9mIE5NREEgKHJlcGxhY2luZyBSRkMgODM0MikuPG86cD48L286cD48 L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9v OnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5BIGRhdGFzdG9y ZSBoYXMgYSBsb3Qgb2YgYmFnZ2FnZTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn aW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDsgJm5ic3A7LSBZQU5HIGxpYnJhcnk8bzpwPjwvbzpw PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7ICZuYnNw Oy0gWUFORyBYUGF0aCBldmFsdWF0aW9uPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h cmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOyAmbmJzcDstIHN1YnRyZWUgYW5kIFhQYXRoIGZp bHRlcmVkIHJldHJpZXZhbDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90 dG9tLWFsdDphdXRvIj4mbmJzcDsgJm5ic3A7LSB1c2FnZSBpbiBSUEMgb3BlcmF0aW9ucyAoZHM6 ZGF0YXN0b3JlIGRhdGEgdHlwZSBwYXJhbWV0ZXIpPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxk aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87 bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+ DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5FdmVyeSB0aW1lIGEgZGF0YXN0b3JlIGlz IGFkZGVkLCBhbGwgdGhlIGV4aXN0aW5nIFJQQyBvcGVyYXRpb25zIHRoYXQgdXNlPG86cD48L286 cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPmRhdGFzdG9yZXMg bmVlZCB0byBiZSBjbGFyaWZpZWQgd3J0LyBzdXBwb3J0IGZvciB0aGUgbmV3IGRhdGFzdG9yZS48 bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+KE9m IGNvdXJzZSB0aGlzIGlzIG5ldmVyIGRvbmUsIGxlYWRpbmcgdG8gbG90cyBvZiBpbnRlcm9wZXJh YmlsaXR5IGlzc3Vlcyk8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv bS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i b3R0b20tYWx0OmF1dG8iPkkgYW0gcXVpdGUgY29uZnVzZWQgYnkgdGhlIFhQYXRoIGRpc2N1c3Np b25zIGJlY2F1c2UgWFBhdGggY2FuIG9ubHk8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+YWNjZXNzIGV4aXN0aW5nIG5vZGVzIChpLmUuIHRoZSAm cXVvdDthY2Nlc3NpYmxlIHRyZWUmcXVvdDspPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0 Zi5vcmcvZG9jL2h0bWwvcmZjNzk1MCNzZWN0aW9uLTYuNC4xIiB0YXJnZXQ9Il9ibGFuayI+aHR0 cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM3OTUwI3NlY3Rpb24tNi40LjE8 L2E+PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i PiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph dXRvIj5TbyB3aGF0IGRvZXMgaXQgbWVhbiBmb3IgdGhlIHN5c3RlbSBkYXRhc3RvcmUgdG8gY29u dGFpbiBwb3NzaWJsZSB2YWx1ZXMgdGhhdDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t YXJnaW4tYm90dG9tLWFsdDphdXRvIj5jYW5ub3QgYmUgcmVwcmVzZW50ZWQgaW4gJmx0O29wZXJh dGlvbmFsJmd0Oz8gVGhlIGFjY2Vzc2libGUgdHJlZSBjYW5ub3QgaW5jbHVkZTxvOnA+PC9vOnA+ PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj50aGVzZSB2YWx1ZXMs IHNvIFhQYXRoLWJhc2VkIHZhbGlkYXRpb24gY2Fubm90IHVzZSB0aGVtLjxvOnA+PC9vOnA+PC9w Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpw PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48 L286cD48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXIt bGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2lu LWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0 b206NS4wcHQiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs dDphdXRvO21hcmdpbi1ib3R0b206MTIuMHB0Ij48YnI+DQovanM8bzpwPjwvbzpwPjwvcD4NCjwv YmxvY2txdW90ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9v OnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpw PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+QW5keTxv OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9 Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJz cDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+ Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6 bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNtIDBjbSAwY20g Ni4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tcmlnaHQ6MGNt O21hcmdpbi1ib3R0b206NS4wcHQiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5PbiBXZWQsIEF1 ZyAwNCwgMjAyMSBhdCAxMjozNDo0NVBNICswMDAwLCBLZW50IFdhdHNlbiB3cm90ZTo8YnI+DQom Z3Q7IDxicj4NCiZndDsgSSBhbSBjb25mdXNlZCBieSB0aGUgY29uZnVzaW9uJm5ic3A7IDspPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7IFlvdSBhbGwga25vdyB0aGF0IEpVTk9TIGltcGxlbWVudGVkIHRo aXMgY29uY2VwdCBiZWZvcmUgWUFORyB3YXMgZXZlbiBhIHRoaW5nLCByaWdodD8mbmJzcDsNCjxi cj4NCiZndDsgPGJyPg0KJmd0OyBBZG1pdHRlZGx5LCBpdOKAmXMgbm90IGEg4oCcZGF0YXN0b3Jl 4oCcLCBidXQgZmxleGluZyB0aGUgTk1EQSBpcyB3aGVyZSB3ZSBjYW4gZG8gYmV0dGVyLg0KPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7IEEg4oCcd2l0aC1zeXN0ZW3igJ0gbWVjaGFuaXNtIGNvdWxkIGFs c28gd29yay4mbmJzcDsgVGhlIG9ubHkgZG93bnNpZGUgaXMgdGhlIGluYWJpbGl0eSBmb3IgYSBj bGllbnQgdG8gZ2V0IG9ubHkgdGhlIHN5c3RlbSBjb25maWd1cmF0aW9uLCB3aXRob3V0IHRoZSBy ZXN0IG9mICZsdDtydW5uaW5nJmd0Oy4mbmJzcDsgJm5ic3A7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 IFBsZWFzZSBzdG9wIHN0YXRpbmcvc3VnZ2VzdGluZyDigJxjb25maWcgdHJ1ZeKAnSBub2RlcyBh cmUgcmVmZXJlbmNpbmcg4oCcY29uZmlnIGZhbHNl4oCdIG5vZGVzLCZuYnNwOyBvciB0aGF0IGNv bmZpZyBpcyByZWZlcmVuY2luZyBvcGVyYXRpb25hbCBzdGF0ZS4mbmJzcDsgVGhlcmUgaXMgbm8g aW50ZW50aW9uIHRvIGJyZWFrIGVpdGhlciBvZiB0aGVzZSB0ZW5hbnRzIGhlcmUuJm5ic3A7DQo8 YnI+DQomZ3Q7IDxicj4NCiZndDsgSSB0aGluayB0aGF0IHNvbWUgZm9sa3MganVzdCBqb2luZWQg dGhlIGNvbnZlcnNhdGlvbiBhbmQgbWF5IGhhdmUgbWlzc2VkIG91dCB3aGVuIHdlIGNvdmVyZWQg YWxsIHRoaXMgYmVmb3JlLiZuYnNwOw0KPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IFRoZSBkcmFmdCBu ZWVkcyB0byBiZSB1cGRhdGVkIHRvIG1vcmUgY2xlYXJseSBpZGVudGlmeSB0aGUgZ29hbHMuIDxi cj4NCiZndDsgPGJyPg0KJmd0OyBLLiA8YnI+DQomZ3Q7IDxicj4NCiZndDsgPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f PGJyPg0KJmd0OyBuZXRtb2QgbWFpbGluZyBsaXN0PGJyPg0KJmd0OyA8YSBocmVmPSJtYWlsdG86 bmV0bW9kQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+bmV0bW9kQGlldGYub3JnPC9hPjxicj4N CiZndDsgPGEgaHJlZj0iaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRt b2QiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZv L25ldG1vZDwvYT48YnI+DQo8YnI+DQotLSA8YnI+DQpKdWVyZ2VuIFNjaG9lbndhZWxkZXImbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0phY29icyBVbml2ZXJzaXR5IEJy ZW1lbiBnR21iSDxicj4NClBob25lOiArNDkgNDIxIDIwMCAzNTg3Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwO0NhbXB1cyBSaW5nIDEgfCAyODc1OSBCcmVtZW4gfCBHZXJtYW55PGJy Pg0KRmF4OiZuYnNwOyAmbmJzcDsrNDkgNDIxIDIwMCAzMTAzJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyZsdDs8YSBocmVmPSJodHRwczovL3d3dy5qYWNvYnMtdW5pdmVyc2l0eS5k ZS8iIHRhcmdldD0iX2JsYW5rIj5odHRwczovL3d3dy5qYWNvYnMtdW5pdmVyc2l0eS5kZS88L2E+ Jmd0OzxvOnA+PC9vOnA+PC9wPg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2 Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4N CjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K --_000_DM6PR08MB5084455E315E53F63BF7C9D29BFA9DM6PR08MB5084namp_-- From nobody Fri Aug 13 14:45:30 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ED64D3A277F for ; Fri, 13 Aug 2021 14:45:27 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.352 X-Spam-Level: X-Spam-Status: No, score=-2.352 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.452, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id A9M1omXRDm9w for ; Fri, 13 Aug 2021 14:45:21 -0700 (PDT) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2104.outbound.protection.outlook.com [40.107.223.104]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 89C443A277D for ; Fri, 13 Aug 2021 14:45:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fszS93G9vUTtNuzlciba+BAe5V4X+XjhGYRo0eQBliveIyFisxjsLsgjq2PMCHHCpAFeQh13xUtXx38JkMf4mmJ+eHyd+ubow7nHo4BosunDkgimW9IO1ErdxqIlo26k662jkvSuZ00f8TtyrcRKeeWffb6GWAPh8PyiAFRlHAuI66EQOPegZvckjUaGvdZfXkiojc/CGi7HX2bMNLIk/hsgRnWXl+XXNG45Fg9E/MA+PXBE5N+Ykc1KVgK9Oqe9IWxK28fbc2n24hzE+CtNkSNT8/eu3yZ/Z1hU4UVnmJm01WaWXU/OnC9+1ikz2jUZXFjIbHDXILk1wbkeKvxZdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8kd9/yc+kUddCQLS5o45WbyUuHKVZTHm4fBV+0dszkA=; b=YKmT2hFVblfaemSxFC9fYSjMSrtTEn2nDmrOLlNistDvmQjGGGNm0f8vpUtyJhJiMwo8EZY0iX9mO1azb5C8EvtCg3HX+kR5tyjjrzTnsR3vr9qiescvXly3wrufxeMhPoPc8yWpe5prXuqUOeg4mKWibsdUacljxIqqA0jCousXAd953EQZQ+a+p+jZ9YpdHSOH+Kh5JKwU0mxcrWTAe0+1QaDtX8A5lrFs2HzG4rwpbaa0JdW3LnWn8yno7Cl1k1KXdtM1S21MJ3Kt8aDJS6878B805wawI6i8YOXKeR2+oVO1UMHd54dHm8lfX+I25+a2MHVMtF1BgwHkUfR3DQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8kd9/yc+kUddCQLS5o45WbyUuHKVZTHm4fBV+0dszkA=; b=CUWhi5z7+SU9brcCc9r63w2GCCWr5LGc88rvi7+xTSkxRE7n/ADzb94rNQJPLvca8XpfS0d7/izE41QVw/I2U7ls0mZlz+qSIGiOVstHLYFnyWUB/umvLxSfzvcGZA6aJYPBXmzANVQNp+Xc3WWbDubirA8nv+czdTkHm7hZBW8= Received: from DM6PR08MB5084.namprd08.prod.outlook.com (2603:10b6:5:41::29) by DM6PR08MB6314.namprd08.prod.outlook.com (2603:10b6:5:1ef::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Fri, 13 Aug 2021 21:45:16 +0000 Received: from DM6PR08MB5084.namprd08.prod.outlook.com ([fe80::1c4f:c615:7111:f171]) by DM6PR08MB5084.namprd08.prod.outlook.com ([fe80::1c4f:c615:7111:f171%5]) with mapi id 15.20.4415.017; Fri, 13 Aug 2021 21:45:16 +0000 From: "Sterne, Jason (Nokia - CA/Ottawa)" To: Kent Watsen , Andy Bierman CC: "netmod@ietf.org" Thread-Topic: [netmod] system configuration sync mechanism Thread-Index: AQHXiTj1ANBqfgbXY0OJQ2APDweat6truCeggAAPsACAADxBgIAF9nvg Date: Fri, 13 Aug 2021 21:45:16 +0000 Message-ID: References: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@email.amazonses.com> <20210804133956.p73si5f63t4esmcj@anna.jacobs.jacobs-university.de> <0100017b2dc8b664-c32e2445-9989-4cd2-9d30-83ce1eb4b2b5-000000@email.amazonses.com> In-Reply-To: <0100017b2dc8b664-c32e2445-9989-4cd2-9d30-83ce1eb4b2b5-000000@email.amazonses.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: watsen.net; dkim=none (message not signed) header.d=none;watsen.net; dmarc=none action=none header.from=nokia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fc10108d-bac5-400c-2a53-08d95ea3a35c x-ms-traffictypediagnostic: DM6PR08MB6314: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: c++1nwW/Or7kYmKAy8kpBGJM3yvOhO0dqZOt/c2fe+wLiId1U/T+DMcfAUoQlOGDTzelKaSoVE9ryjXLnHYcnDhEY9urrz9yr39k90JCF0S3Hz11nAsjNzUTAi0XK1qhlvBH9/wymw1JU+iaW+3y7xOItHeR45VyPnKOMqpgmC1/7ks//NaXQb82ndEsF0eOsy1aYxtM+kH1A8Ae7yVKvElIxifoI0QDsxIH/3wjCWYEcvI3irLCFVnqZPt2rkG+5V7yz7EQEPkvPhvK5Mtd+4WjDKu1+U8Q+6Ko+UJMM/32JAlMLRLsvn0oT7XArTb+jfj6WmhM6hcOQrddiwX/sWzgttAaBOFZX8IbtjbZA/MGE/kpDaR/RvmYDyI/4Vw5X43Y4P3pjd//0p0rLwzz0BxshaBsGP/Ki4pwJswM0orYAa8Lfj+HNPXAoVLrmbq28GBG7Mk91XJMyPSkPH+dniZ/XCnsZlhpMMMWOrDZ2XDho0z7B2w1oD/y80pyen5gie4+yyFwMdbhx5DYb6W5bKbBdYZgYH5xDEq+RucQKjDZwFm7J3y8yM8Hx6dyBlu2tJqXxTKvkdrYavnxFerB8bl0REvmL1sOoxvj4B/V5fa3+qwuZaIACkUIP2n4rqQ9ZwMJ3g/rZraivmRsXrsp3rYsVQpeHs4grT4yM0yQAs/9nBcpMgFx81StbaYp4yvXKvJeP0m6f71QvjVxNqhMOGysAQe98Q5s0i4fiNKZ4KlO1cPUX2Cay3rwOfBRFHAtxNRD9xMxUQ3k+w0V8F7O5yVYLx7Ptgvubbj/AUx/X17I1vW8p3Mq2UQZrTcs9J/pQ6+dDtmSErsLyk+vhH/FXw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR08MB5084.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(396003)(346002)(366004)(39860400002)(376002)(7696005)(6506007)(53546011)(5660300002)(64756008)(66556008)(66446008)(38100700002)(26005)(110136005)(4326008)(71200400001)(186003)(83380400001)(166002)(30864003)(2906002)(55016002)(9686003)(8676002)(86362001)(52536014)(478600001)(966005)(122000001)(33656002)(76116006)(66946007)(8936002)(66476007)(38070700005)(316002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YmdzS3dwVlhqS0sxY1ZkeWRVNTNMM28xQmhYRjVMWDlzWUdDUGQxc1Y4R3pK?= =?utf-8?B?ZlJIcU1pSjN0Rnl2SHpQVGhobGxUNEp3a0plQUdRWUY5SlViVHpGc3FLbUsy?= =?utf-8?B?NXdMTEtKRmd5NEV4RnN0Qkh2Q2pLYmRNOCs3Wm9uY1ZteWtBZWgwRFZicm83?= =?utf-8?B?OU1uT21hTVlOSFd4NFA0aDhmVE1Oa1NCaVlMTFZSMFhqcW0rL1VXZDFnb0xn?= =?utf-8?B?eVF6UEFrbEFMenlhT0xKUTA3anRhbjdrZ0x4YlplYnN4bmgxRlpvbUVKMnY0?= =?utf-8?B?blgwU25CQkx0b2ZRRnBSSmFEVm9MYW5qRFZkMURtZDdZd3FwOXBmMWdPWEUv?= =?utf-8?B?UE50U2xpazZsVlYyMk5vRW96QjFvT1Rwb1F3a2tIdGFBb1hPQUlxdjZJNmNu?= =?utf-8?B?VHlIZ1RWdFlDZFZXRUFYd1hvdUZBQ0tEZkNBN2ZheHFTZ3hhUTdSMG55TDJR?= =?utf-8?B?Q0pvZStOVmx4eit2c0puRFdHdlVkZWJ5am9nUE5RUEpiN1F2M3NHOERCdFg3?= =?utf-8?B?bHlhWFNzcXJKcUhDZlZGS01uNVVPWW1jeGdjWDFDcE1pd0tXLzg5OFZ2SHUr?= =?utf-8?B?QlVCQ2hCSi9aZFIwRWY5QzlkaGNOamJDLy9MeG42OFRCLzBjZnU3MWFyWTNr?= =?utf-8?B?RVdvTEpEbjFWekpxak5UUXJ0NmptdDN4c1hLVkRRa2NyU1A1UFJzWjZoTDQw?= =?utf-8?B?bDgzM3lxd0VRc1dkVUgyWDNJZlFneXFZWTM2OWpycktHMGdsU2VMVmFvblh3?= =?utf-8?B?YTUvemt6elg3bEtHMTlEbG1aYzErN1pxM2FDczN3Q0lyQXQwNHFhWURqc0JH?= =?utf-8?B?Ri9NazY0a3lXL0NkakNvRUIrZ2J2eERrL1JkN21yU2NsOU9KWGl4Vm5BUEtw?= =?utf-8?B?YmNhbG0rbTEvaGJwa0xpODg5bmtpSmlDdTN5MStqaDZVcm55ZHp2N2lROW9C?= =?utf-8?B?RWhXNHVjNUd0cVBBQ2J2Z2JuUElyQlFoYjg3S0QvVURtdVVuMU9UYzg1M0VM?= =?utf-8?B?TjliTFE1cWM5cSttWGpvR2ErNGo2MEFWQVE4U3ZLcmJ2THAyN1Q2ZkMrWkxm?= =?utf-8?B?djY3OW9nWjZCczhjNjhkbTViSjR4WDgxNjdMWlRLNlNUcnJaYXJLcWJMQzVS?= =?utf-8?B?c0RHWi9yOU5CT3JwKzMrZm1SQ2hGa1dNOVd1SU14TUtlTGdONDNwaE1TRWFC?= =?utf-8?B?Z1oxeTNoUlArRjhOUlJ0YTdFRFdKMGd2NXY0eDRKdGRJZVVkNXdJdU5VSHZk?= =?utf-8?B?YVkrcmFnbGZ2ZVVndzkrZDE2VnJkcG9vOUJTOHo1VVJzOFNzckQrcko0MmdW?= =?utf-8?B?cGJTNzVZRDhDUTNpejJzYlRvYzRpRndQWVhWOVRlKy8xZzhGK3g3d1FNY0Zu?= =?utf-8?B?NXp1MUVybVJ6bVkzU0xyR3pReHREdU9vNG93UzFUalRKSjhjZDBlZVBGeXJ0?= =?utf-8?B?K3hFS2NCekFrNk9JZkx4MDJsNlJubzRYajYvaXhDZEEyMjhHQWdiVHZQTzRX?= =?utf-8?B?OHVvVXRXZVA1OWJ0bE5zSjZIS1lQSU1wUmFOUExzWWdjR1hZVy9Ob0RZK2U0?= =?utf-8?B?SHFSMFdVTUlraUdhRFBRVEpKYjY0Ly96TXZocG5hSlA1SEhCUFQ0TldwUUs5?= =?utf-8?B?UmVjQzc5OVZMYW5JZEs5WXlGa2EzOE5xUjZuTjBPcXduVXVuNGRVdW40UUQx?= =?utf-8?B?aHFoRmRCejB6cnZlZW5YQ3ErK1JDNVk0N1lMOEMwNTB2ZFVxNEtEOEE2bkhx?= =?utf-8?Q?iROSLzdSwXzR24xa+O/YkMhP9sI1O0OyCSsngu1?= x-ms-exchange-transport-forked: True Content-Type: multipart/alternative; boundary="_000_DM6PR08MB508479DC55B4D4A0E5B11AD19BFA9DM6PR08MB5084namp_" MIME-Version: 1.0 X-OriginatorOrg: nokia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR08MB5084.namprd08.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fc10108d-bac5-400c-2a53-08d95ea3a35c X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Aug 2021 21:45:16.1683 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +HKnS+Jno0MfDFAHvErOVEW0MZmru5hDkeB6+0gjS17jpC4fuud2m/S4zpfm/3MS8q5seZndPC8r946bmjhV3A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR08MB6314 Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Aug 2021 21:45:28 -0000 --_000_DM6PR08MB508479DC55B4D4A0E5B11AD19BFA9DM6PR08MB5084namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGh4IEtlbnQuIFBsZWFzZSBzZWUgaW5saW5lLg0KSmFzb24NCg0KRnJvbTogS2VudCBXYXRzZW4g PGtlbnQraWV0ZkB3YXRzZW4ubmV0Pg0KU2VudDogTW9uZGF5LCBBdWd1c3QgOSwgMjAyMSA5OjU5 IFBNDQpUbzogQW5keSBCaWVybWFuIDxhbmR5QHl1bWF3b3Jrcy5jb20+DQpDYzogU3Rlcm5lLCBK YXNvbiAoTm9raWEgLSBDQS9PdHRhd2EpIDxqYXNvbi5zdGVybmVAbm9raWEuY29tPjsgbmV0bW9k QGlldGYub3JnDQpTdWJqZWN0OiBSZTogW25ldG1vZF0gc3lzdGVtIGNvbmZpZ3VyYXRpb24gc3lu YyBtZWNoYW5pc20NCg0KDQpUaGVyZSB3YXMgYSByZXF1ZXN0IGZvciBjb25jcmV0ZSB1c2UgY2Fz ZXMuICBUaGlzIGVtYWlsIGZyb20gYmVmb3JlIHdhcyBnb29kOg0KDQogICAgICAgICAgICAgIGh0 dHBzOi8vbWFpbGFyY2hpdmUuaWV0Zi5vcmcvYXJjaC9tc2cvbmV0bW9kL3Y1Y05MY0MyRl9PVDh0 LTQwN0YzWmo2VndzNC8NCg0KWz4+SlRTOiBdIEkgc2F3IHRoZSB0YXhvbm9teSBvZiByZXNvdXJj ZS1kZXBlbmRhbnQgdnMgcmVzb3VyY2UtaW5kZXBlbmRlbnQsIGFuZCB0aGUgc3ViLWNhdGVnb3Jp ZXMgb2YgYXBwbGllZC1pbW1lZGlhdGVseSB2cyBhcHBsaWVkLWFmdGVyLXJlZmVyZW5jZS4gQW5k IHRoZW4gdGhlIGNvbmNlcHQgb2YgImNvbmRpdGlvbmFsIiBzeXN0ZW0gY29uZmlnLiBCdXQgSSB0 aGluayB0aGVyZSBtYXkgYWxzbyBiZSB0d28gb3J0aG9nb25hbCBjb25jZXB0cyB0aGF0IG5lZWQg dG8gYmUgY2xhcmlmaWVkOg0KMSkgZGVsZXRhYmxlL3JlbW92YWJsZSB2cyBub24tcmVtb3ZhYmxl DQoyKSBtb2RpZmlhYmxlIHZzIG5vbi1tb2RpZmlhYmxlIChpLmUuIGNhbiB5b3UgbW9kaWZ5IGVs ZW1lbnRzIGluIHRoZSBsaXN0IGVudHJ5KQ0KDQpMZXQgbWUgZ2l2ZSB5b3UgYW4gZXhhbXBsZSB1 c2UgY2FzZSBvZiBkZWxldGFibGUrbW9kaWZpYWJsZToNCi0gdXNlciAiYWRtaW4iICAobGlzdCBl bnRyeSkNCi0gZXhpc3RzIGluIDxydW5uaW5nPiB3aGVuIHRoZSBzZXJ2ZXIgYm9vdHMgdXAgd2l0 aCBubyA8c3RhcnR1cD4gRFMNCi0gY2FuIGJlIGRlbGV0ZWQgYnkgdGhlIGNsaWVudCAoYW5kIHRo ZW4gYSBjb3B5LWNvbmZpZyBmcm9tIDxydW5uaW5nPiB0byA8c3RhcnR1cD4gd291bGQgY3JlYXRl IGEgPHN0YXJ0dXA+IHdpdGggdGhlIGFic2VuY2Ugb2YgdGhlIHVzZXIgImFkbWluIg0KLSBJIHRo aW5rIHRoaXMgcGFydGljdWxhciBleGFtcGxlIHdvdWxkIGJlICJyZXNvdXJjZS1pbmRlcGVuZGVu dCIsICJhcHBsaWVkLWltbWVkaWF0ZWx5IiwgYW5kICJub24tY29uZGl0aW9uYWwiIChidXQgdGhl cmUgY291bGQgYWxzbyBiZSBkZWxldGFibGUrbW9kaWZpYWJsZSBvYmplY3RzIHRoYXQgYXJlIGFw cGxpZWQtYWZ0ZXItcmVmZXJlbmNlIG9yIHJlc291cmNlLWRlcGVuZGFudCkNCi0gYnV0IEkgYWxz byB0aGluayB0aGF0IGRlbGV0YWJsZSBlbnRyaWVzIGxpa2UgdGhpcyBjYW4ganVzdCBiZSBoYW5k bGVkIGFzIHN5c3RlbSBwb3B1bGF0ZWQgPHJ1bm5pbmc+IGNvbmZpZyBhdCBib290IHRpbWUgd2hl biB0aGVyZSBpcyBubyA8c3RhcnR1cD4gRFMgcHJlc2VudA0KDQpBbiBleGFtcGxlIG9mIG5vbi1k ZWxldGFibGUrbW9kaWZpYWJsZToNCi0gQ1BVIHByb3RlY3Rpb24gcG9saWN5IG51bWJlciAyNTUg KHJhdGUgbGltaXQgZm9yIGV4dHJhY3RlZCBjb250cm9sIHRyYWZmaWMpIHRoYXQgY2FuIGJlIGFz c2lnbmVkIHRvIGFuIGludGVyZmFjZSAobGVhZnJlZiBmcm9tIGludGVyZmFjZS0+cHJvdGVjdGlv biBwb2xpY3kpDQotIG5vdCBzaG93biBpbiA8cnVubmluZz4gdW5sZXNzIHRoZSBjbGllbnQgZXhw bGljaXRseSBtb2RpZmllcyBwYXJhbWV0ZXJzIG9mIHRoYXQgcHJvdGVjdGlvbiBwb2xpY3kNCi0g YW4gb3B0aW9uID86IGhhdmUgdGhpcyBzaG93IHVwIGluIDxydW5uaW5nPiBpZiB0aGUgY2xpZW50 IHNpbXBseSBleHBsaWNpdGx5IGNyZWF0ZXMgdGhlIGxpc3QgZW50cnkNCg0KQW4gZXhhbXBsZSBv ZiBub24tZGVsZXRhYmxlK25vbi1tb2RpZmlhYmxlOg0KLSBRb1MgcG9saWN5IDEgdGhhdCBpcyBh c3NpZ25lZCB0byBldmVyeSBpbnRlcmZhY2UgYnkgZGVmYXVsdA0KLSBUaGUgbGVhZnJlZiBmcm9t IGludGVyZmFjZS0+cW9zIHBvbGljeSAxIGhhcyBhIGRlZmF1bHQgdmFsdWUgb2YgIjEiIGluIHRo ZSBZQU5HIG1vZGVsDQotIGFuIG9wdGlvbiA/OiBoYXZlIHRoaXMgc2hvdyB1cCBpbiA8cnVubmlu Zz4gaWYgdGhlIGNsaWVudCBzaW1wbHkgZXhwbGljaXRseSBjcmVhdGVzIHRoZSBsaXN0IGVudHJ5 DQoNCg0KTW9yZSBiZWxvdzoNCls+PkpUUzogXSBQbGVhc2Ugc2VlIGlubGluZSBiZWxvdw0KDQoN Cg0KDQpPbiBBdWcgOSwgMjAyMSwgYXQgNjoyMyBQTSwgQW5keSBCaWVybWFuIDxhbmR5QHl1bWF3 b3Jrcy5jb208bWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbT4+IHdyb3RlOg0KDQpPbiBNb24sIEF1 ZyA5LCAyMDIxIGF0IDI6NTEgUE0gU3Rlcm5lLCBKYXNvbiAoTm9raWEgLSBDQS9PdHRhd2EpIDxq YXNvbi5zdGVybmVAbm9raWEuY29tPG1haWx0bzpqYXNvbi5zdGVybmVAbm9raWEuY29tPj4gd3Jv dGU6DQpIaSBndXlzLA0KDQpJJ20gbGF0ZSB0byB0aGUgZ2FtZSBvbiB0aGlzIHRocmVhZCBidXQg SSBkaWQgcmVhZCB0aHJvdWdoIHRoZSBlbnRpcmUgdGhpbmcgKHdoZXcgLSBjYW4ndCBwcm9taXNl IEkgYWJzb3JiZWQgZXZlcnkgbnVhbmNlIHRob3VnaCkuIEkgYW0gZmFtaWxpYXIgd2l0aCB0aGlz IGlzc3VlLiBJJ3ZlIGJlZW4gZGVhbGluZyB3aXRoIGl0IGZyb20gdGhlIHNlcnZlciBpbXBsZW1l bnRhdGlvbiBzaWRlIChzb21lIGNsaWVudHMgKmRvKiBjb21wbGFpbiBpZiB0aGVyZSBhcmUgcmVm ZXJlbmNlcyB0byBtaXNzaW5nICJzeXN0ZW0gY29uZmlnIiBsaXN0IGVudHJpZXMpLg0KDQpPbmUg b2YgdGhlIHByZXR0eSBmdW5kYW1lbnRhbCBpc3N1ZXMgSU1PIGlzIHdoZXRoZXIgd2Ugd2FudCBn b29kIG9sJyBzdGFuZGFyZCA8cnVubmluZz4gdG8gYWx3YXlzIGJlIHZhbGlkIChpbmNsdWRpbmcg Zm9yIGFuIG9mZmxpbmUgY2xpZW50IG9yIHRvb2wgdG8gYmUgYWJsZSB0byB2YWxpZGF0ZSBpbnN0 YW5jZSBkYXRhIHJldHJpZXZlZCBmcm9tIGEgc2VydmVyIGFnYWluc3QgdGhlIFlBTkcgbW9kZWxz KS4gRXZlbiB3aXRob3V0IHRoaXMgInN5c3RlbSBjb25maWciIHRvcGljLCB3ZSBhbHJlYWR5IGhh dmUgYSBsb29taW5nIHByb2JsZW0gd2l0aCBjb25maWcgdGVtcGxhdGVzICYgZXhwYW5zaW9uLiAg U2VydmVycyB3aXRoIFlBTkcgbW9kZWxzIHRoYXQgZG9jdW1lbnQgYSBsb3Qgb2YgY29uc3RyYWlu dHMgKGUuZy4gbGVhZnJlZnMsIG1hbmRhdG9yeSBzdGF0ZW1lbnRzLCBldGMpIGFyZSBtb3JlIGxp a2VseSB0byBoaXQgdGhpcyBpc3N1ZSBvZiBhbiBpbnZhbGlkIHJ1bm5pbmcgY29uZmlnIChvZmZs aW5lKS4NCg0KSSB0aGluayB0aGF0IGl0IGlzIGFscmVhZHkgdGhlIGNhc2Ugd2l0aCBKVU5PUyB0 aGF0IDxydW5uaW5nPiBieSBpdHNlbGYgY2Fubm90IGJlIHZhbGlkYXRlZCBieSBhIGNsaWVudCB1 bmF3YXJlIG9mIGhvdyBKVU5PUyB0ZW1wbGF0ZXMgd29ya+KApmFzIHRoZSB0ZW1wbGF0ZXMgbWF5 IHN1cHBseSBtYW5kYXRvcnkgbm9kZXMgYW5kL29yIHZhbHVlcywgb3Igc29tZSB2YWxpZGF0aW9u cyBvbmx5IG1ha2Ugc2Vuc2UgdG8gZXZhbHVhdGUgd2hlbiB0aGUgY29uZmlnIGlzIGZsYXR0ZW5l ZCAoZS5nLiwgZW5zdXJpbmcgIm1heC1lbGVtZW50cyIgaXMgbm90IGV4Y2VlZGVkLCBlbnN1cmlu ZyBBQ0xzIGFsd2F5cyBlbmQgd2l0aCBhIHRlcm1pbmFsIHJ1bGVzLCBldGMuKS4NCls+PkpUUzog XSBDbGllbnRzIG1heSBub3QgaGl0IHRoaXMgYXMgbXVjaCB3aXRoIEpVTk9TLiBUaGUgbGF0ZXN0 IG1vZGVscyBJIGxvb2tlZCBhdCBkaWRuJ3QgaGF2ZSBhbnkgbGVhZnJlZnMgYW5kIGhhZCB2ZXJ5 IGZldyBtYW5kYXRvcnkgc3RhdGVtZW50cy4gU28gSSdtIG5vdCBzdXJlIHdoYXQgcGFydHMgb2Yg dGhlIHRlbXBsYXRlcyBwcm92aWRlIGRhdGEgdGhhdCBpcyByZXF1aXJlZCB0byB2YWxpZGF0ZSBy dW5uaW5nIGFnYWluc3QgdGhlIFlBTkcgbW9kZWxzID8NCkJ1dCBmb3IgbW9kZWxzIHdpdGggbGVh ZnJlZnMgYW5kIG1hbmRhdG9yeSBzdGF0ZW1lbnRzLCB0aGVyZSBpcyBoaWdoIGxpa2VsaWhvb2Qg dGhhdCBjbGllbnRzIHdvbid0IGJlIGFibGUgdG8gZG8gb2ZmbGluZSB2YWxpZGF0aW9uIGlmIHRl bXBsYXRlcyBhcmUgdXNlZC4NCg0KDQpJJ20gZG91YnRmdWwgdGhhdCBpdCBpcyBlYXN5IGZvciBh IGNsaWVudCB0byBrbm93IGhvdyB0ZW1wbGF0ZXMgYXJlIGV4cGFuZGVkIGZvciBhbGwgZ2l2ZW4g c2VydmVycy4gVW5sZXNzIHRoYXQgZXhwYW5zaW9uIGlzIGZ1bGx5IHN0YW5kYXJkaXplZCAod2hp Y2ggd291bGQgYmUgY2hhbGxlbmdpbmcgZ2l2ZW4gbXVsdGlwbGUgZGlmZmVyZW50IHNoaXBwaW5n IGltcGxlbWVudGF0aW9ucyBpbiB0aGUgaW5kdXN0cnkpLCB0aGVyZSBjYW4gYmUgc29tZSBzdWJ0 bGUgY29ybmVyIGNhc2VzIGFuZCBpdCBjYW4gYmUgY29tcGxleCAobXVsdGlwbGUgbGV2ZWxzIG9m IHRlbXBsYXRlIGFwcGxpY2F0aW9uLCBleGNsdXNpb24gcnVsZXMsIGV0YykuDQpBZ3JlZWQsIG5v dCBlYXN5IGJ1dOKApg0KDQpTb21lIFtzbWFydF0gY2xpZW50cyBtYXkgbmV2ZXIgbmVlZCB0byBn cm9rIGhvdyBkZXZpY2UtbGV2ZWwgdGVtcGxhdGVzIGFyZSBleHBhbmRlZC4gIEZvciBpbnN0YW5j ZSwgdGhlIE5NUyBJIHdvcmtlZCBvbiBpbiBhIHByZXZpb3VzIGxpZmUgd291bGQgYWx3YXlzIG9u Ym9hcmQgYSBuZXcgZGV2aWNlIGJ5IGFza2luZyB0aGUgZGV2aWNlIHRvIHByb3ZpZGUgaXRzIGNv bmZpZyBhbHJlYWR5IGV4cGFuZGVkLCBhbmQgdGhlcmVhZnRlciB3b3VsZCBuZXZlciBzZW5kIHRl bXBsYXRlZC1jb25maWcgdG8gdGhlIGRldmljZSAobm90ZTogdGhlIE5NUyBoYWQgaXRzIG93biB0 ZW1wbGF0ZSBtZWNoYW5pc20pLg0KWz4+SlRTOiBdIEJ1dCB0aGF0J3MgbW92aW5nIHRoZSBtYXN0 ZXJzaGlwL293bmVyc2hpcCAoaS5lLiBkZWZpbml0aXZlIHZpZXcgb2YgdGhlIDxydW5uaW5nPikg ZG93biB0byB0aGUgc2VydmVyLiBPciBhYmFuZG9uaW5nIHRlbXBsYXRlcyBhcyBwYXJ0IG9mIHRo ZSBvcGVyYXRvci1vd25lZCBjb25maWcuDQoNCk9uIHRoZSBvdGhlciBlbmQgb2YgdGhlIGNsaWVu dC1zcGVjdHJ1bSwgb3RoZXIgW2R1bWJdIGNsaWVudHMgbWF5IGFsc28gbm90IG5lZWQgdG8gZ3Jv ayBob3cgZGV2aWNlLWxldmVsIHRlbXBsYXRlcyBhcmUgZXhwYW5kZWQsIGFzIHRoZXkgbW9zdGx5 IHB1c2ggc2ltcGxlIHVwZGF0ZXMgKGUuZy4sIG9wZW4gYSBwb3J0KSBrbm93biB0byBwYXNzIHZh bGlkYXRpb24gYW5kL29yIHJlbHkgb24gc2VydmVyLXNpZGUgdmFsaWRhdGlvbi4NCls+PkpUUzog XSBJZiB3ZSBvbmx5IHdhbnQgdG8gc29sdmUgc2VydmVyLXNpZGUgdmFsaWRhdGlvbiB0aGVuIHRo aXMgZ2V0cyBlYXNpZXIuIEFuZCBtYXliZSB0aGF0IGlzIHRoZSBhbnN3ZXIuIEJ1dCBzb21lIGNs aWVudHMgdG9kYXkgZG8gY29tcGxhaW4gd2hlbiBvZmZsaW5lIHZhbGlkYXRpb24gZmFpbHMuDQoN Ck9mIGNvdXJzZSwgdGhlcmUgTUFZIGJlIGNsaWVudHMgaW4tYmV0d2VlbiB0aGF0IHJlYWQvd3Jp dGUgdGVtcGxhdGVkLWNvbmZpZyBhbmQsIGlmIHRoZXkgd2lzaCB0byBwZXJmb3JtIG9mZi1ib3gg dmFsaWRhdGlvbiwgbW9zdCBsaWtlbHkgd2lsbCBuZWVkIHRvIGdyb2sgaG93IHRlbXBsYXRlcyBh cmUgZXhwYW5kZWQuWz4+SlRTOiBdIFllcyAtIEkgdGhpbmsgdGhpcyBpcyB0aGUgaXNzdWUgKGFu ZCB3b3JrZmxvdykgd2UncmUgdHJ5aW5nIHRvIGFkZHJlc3MgaGVyZS4NCg0KDQoNCkkgYWdyZWUg dGhlcmUgY2FuIGJlIGR5bmFtaWNhbGx5IGFkZGVkIHN5c3RlbSBjb25maWcgKGUuZy4gY3JlYXRl IGEgbmV3IHFvcyBwb2xpY3ksIGFuZCBzb21lIHF1ZXVlIGxpc3QgZW50cmllcyBhcmUgYXV0b21h dGljYWxseSBjcmVhdGVkIGluc2lkZSB0aGF0IHBvbGljeSkuDQpJJ20gdW5zdXJlIGhvdyB0aGlz IHJlbGF0ZXMuWz4+SlRTOiBdIFFpdWZhbmcgd2FzIGFza2luZyBpZiBjb25kaXRpb25hbCBzeXN0 ZW0gY29uZmlnIGV4aXN0cy4gSXQgZG9lcyBpbiBzb21lIGltcGxlbWVudGF0aW9ucy4NCg0KDQoN Ck5vdGUgdGhhdCBjb25maWcgYWRkZWQgYnkgdGhlIHN5c3RlbSBjb3VsZCBiZSBkZWxldGFibGUg b3Igbm9uLWRlbGV0YWJsZS4gRm9yIGRlbGV0YWJsZSBpdGVtcyB0aGVyZSB3ZXJlIHNvbWUgcHJl dmlvdXMgZGlzY3Vzc2lvbnMgYSBmZXcgeWVhcnMgYWdvIHRoYXQgdGhvc2UgbGlzdCBlbnRyaWVz IGNvdWxkIGJlIHNpbXBseSBhIGRlZmF1bHQgY29uZmlnIHRoYXQgaXMgcG9wdWxhdGVkIGlmIHRo ZSBzdGFydHVwIGRhdGFzdG9yZSBpcyBlbXB0eSBhdCBib290IHRpbWUuDQpZZXMsIGJ1dCBJIHRo YXTigJlzIGEgZGlmZmVyZW50IHVzZS1jYXNlLCByaWdodD8gIChzZWUgdGhlIGxpbmsgdG8gY29u Y3JldGUgdXNlIGNhc2VzIHByb3ZpZGVkIGF0IHRvcClbPj5KVFM6IF0gTm90IHJlYWxseSBhIGRp ZmZlcmVudCB1c2UtY2FzZS4gQSBkaWZmZXJlbnQgYXR0cmlidXRlIG9mIHNvbWUgb2YgdGhlIHVz ZSBjYXNlcyB3ZSdyZSBkaXNjdXNzaW5nLiBJIHRoaW5rIGl0cyBhbm90aGVyIGRpbWVuc2lvbiB3 ZSBuZWVkIHRvIGNvbnNpZGVyIChhbG9uZyB3aXRoIHJlc291cmNlLWRlcGVuZGFudCB2cyByZXNv dXJjZS1pbmRlcGVuZGVudCwgYXBwbGllZC1pbW1lZGlhdGVseSB2cyBhcHBsaWVkLWFmdGVyLXJl ZmVyZW5jZSwgY29uZGl0aW9uYWwgdnMgbm9uLWNvbmRpdGlvbmFsKS4NCg0KDQpUaGUgc3lzdGVt IGNvbmZpZyBsaXN0IGVudHJpZXMgY291bGQgYWxzbyBoYXZlIGxlYWZzIHRoYXQgYXJlIG1vZGlm aWFibGUgYW5kIGxlYWZzIHRoYXQgYXJlIGltbXV0YWJsZS4gRm9yIHRoZSBtb2RpZmlhYmxlIG9i amVjdHMgSSB0aGluayB0aGlzIGlzIGJhc2ljYWxseSB0aGUgc3lzdGVtIG1lcmdpbmcgdGhlIGV4 cGxpY2l0IGNvbmZpZyB3aXRoIHRoZSBzeXN0ZW0gY29uZmlnICh3aXRoIHRoZSBleHBsaWNpdCB0 YWtpbmcgcHJlY2VkZW5jZSkuDQoNClRoZSDigJxtb2RpZmlhYmxl4oCdIGxlYWZzIGFyZSBpbiB0 aGlzIHVzZS1jYXNlLCBhc3N1bWluZyDigJxtb2RpZmlhYmxlIiBpcyB0aGUgc3lub255bW91cyBh cyDigJxvdmVyLXdyaXRhYmxlIi4gIFNvbWUg4oCcaW1tdXRhYmxl4oCdIGxlYWZzIGFyZSBtb3Jl IGxpa2UgdGhvc2UgZGlzY3Vzc2VkIGluIFJGQyA4MzQyIFNlY3Rpb24gNSwgYnV0IG90aGVycyBh cmUgbGlrZSB3aGF0IEFuZHkgZGlzY3Vzc2VzIGJlbG93IChub3RlOiB0aGVzZSBpbW11dGFibGUg bm9kZXMgYXJlIG5vdCBjdXJyZW50bHkgaW4gc2NvcGUsIGFzIEkgdW5kZXJzdGFuZCBpdCkuWz4+ SlRTOiBdIFllcyAtIEknbSB0aGlua2luZyBvZiBtb2RpZmlhYmxlIGFzIG92ZXItd3JpdGFibGUu IE1heWJlIHRoaXMgaXMgYSBzZXBhcmF0ZSBpc3N1ZSAtIEknbSBub3Qgc3VyZSB5ZXQuDQoNCg0K DQpQZXJoYXBzIGEgbG90IG9mIHRoaXMgc3lzdGVtIGNvbmZpZyBpcyBhIGxlZ2FjeSBob2xkIG92 ZXIgZnJvbSBodW1hbi1kcml2ZW4gQ0xJcy4gRm9yIG1hY2hpbmUgaW50ZXJmYWNlcyBtYXliZSBp dCdzIHJlYXNvbmFibGUgdG8gaGF2ZSBjbGllbnRzIGV4cGxpY2l0bHkgZGVmaW5lIHRoZWlyIGNv bmZpZyAqaWYqIHRoZXkgbmVlZCBvZmZsaW5lIHZhbGlkYXRpb24gb2YgPHJ1bm5pbmc+IHRvIHN1 Y2NlZWQgKGkuZS4gYWxsb3cgY2xpZW50cyB0byBleHBsaWNpdGx5IGNvbmZpZ3VyZSBhbnkgb2Yg dGhlIHN5c3RlbSBjb25maWcgcG9saWNpZXMgdGhleSBhcmUgYWN0dWFsbHkgdXNpbmcgJiByZWZl cmVuY2luZykuICBJbiBtYW55IGNhc2VzLCB1c2VycyB3YW50IHRoZSAibWFzdGVyIiB2aWV3IG9m IHRoZSBjb25maWcgdG8gbGl2ZSB1cCBpbiB0aGUgY2xpZW50L09TUyBzaWRlIGFuZCBqdXN0IHB1 c2ggaXQgZG93biB0byB0aGUgc2VydmVyICh3aXRob3V0IGhhdmluZyB0aGUgc2VydmVyIHRvdWNo IHRoZSBjb250ZW50cyBvZiB0aGUgcnVubmluZywgaS5lLiBhIHJlYWQtYmFjayBzaG91bGQgcmV0 dXJuIGlkZW50aWNhbGx5IHdoYXQgd2FzIHNlbnQpLg0KQWdyZWUgdGhhdCBhIHJlYWQtYmFjayBv ZiA8cnVubmluZz4gc2hvdWxkIGFsd2F5cyByZXR1cm4gaWRlbnRpY2FsbHkgd2hhdCB3YXMgc2Vu dCwgYnV0IHRoYXQgZG9lc27igJl0IG1lYW4gdGhhdCB0aGVyZSBpc27igJl0IHN5c3RlbSBjb25m aWcgaW4gcGxheS5bPj5KVFM6IF0gTm90IHN1cmUgd2hhdCB5b3UgbWVhbiBoZXJlLiBJZiB0aGUg Y2xpZW50IHNlbnQgY29uZmlnIFgsIGFuZCBpbiBYIHRoZXJlIGlzIGEgbGVhZnJlZiB0byBzb21l IHN5c3RlbSBsaXN0IGVudHJ5LCBhbmQgdGhlIHN5c3RlbSBsaXN0IGVudHJ5IHdhc24ndCBzZW50 IGJ5IHRoZSBjbGllbnQsIHRoZW4gSSdtIGRvdWJ0ZnVsIHRoZSByZWFkYmFjayBzaG91bGQgcmV0 dXJuIHRoZSBzeXN0ZW0gbGlzdCBlbnRyeSAoaW4gd2hpY2ggY2FzZSB0aGUgY29uZmlnIHdvdWxk IGJlIGNvbnNpZGVyZWQgaW52YWxpZCBieSBvZmZsaW5lIHZhbGlkYXRpb24sIGUuZy4gYW5hbHlz aXMgb2YgdGhlIGluc3RhbmNlIGRhdGEgYWdhaW5zdCB0aGUgWUFORyBtb2RlbCB3aXRoIHlhbmdM aW50KS4NCg0KDQpJdCBtaWdodCBiZSBnb29kIHRvIHNldCB1cCBhIHZpcnR1YWwgaW50ZXJpbSBv ciBjYWxsIG9mIHNvbWUgc29ydCB0byBkaXNjdXNzIHRoaXMgb25lLiBJdCBpcyBwcmV0dHkgY29t cGxleC4NCkdvb2QgaWRlYSwgYnV0IEnigJlkIGhvcGUgZmlyc3QgdG8gZ2V0IHBhc3QgdGhlIOKA nGRvIHdlIHVuZGVyc3RhbmQgdGhlIHJlcXVpcmVtZW50c+KAnSBwYXJ0IG9mIHRoZSBkaXNjdXNz aW9uLiAgT2YgY291cnNlLCBpZiBwZW9wbGUgcHJlZmVyLCB3ZSBjb3VsZCBzY2hlZHVsZSBhbiBp bnRlcmltIHRvIGRpc2N1c3MgdGhlIHVzZS1jYXNlcyBhbHNvLg0KDQoNCkkgdGhpbmsgQmFsYXN6 IGNhcHR1cmVkIHRoZSAyIHVzZS1jYXNlcyB2ZXJ5IHdlbGwuDQoNClRoZSB1c2UtY2FzZXMgaW4g aGlzIDcvMzEgbWVzc2FnZSBhcmUgZ29vZCwgYnV0IG5laXRoZXIgb2YgdGhlbSBhcmUgcGFydCB0 aGlzIHdvcmvigJlzIHNjb3BlLCBhcyBJIHVuZGVyc3RhbmQgaXQuICBbdXBkYXRlOiBoaXMgdXNl LWNhc2Ug4oCYQeKAmSBtYXkgYmUgaW4gc2NvcGUsIGRlcGVuZGluZyBvbiBob3cgd2Ugc2V0IHRo ZSBzY29wZV0NCls+PkpUUzogXSBJJ20gY29uZnVzZWQgYWJvdXQgeW91ciBhbmQgQW5keSdzIHJl ZmVyZW5jZXMgdG8gQmFsYXpzJyB1c2UgY2FzZXMuIERvIHlvdSBtZWFuIHRoaXMgZW1haWwgPw0K aHR0cHM6Ly9tYWlsYXJjaGl2ZS5pZXRmLm9yZy9hcmNoL21zZy9uZXRtb2QvbmNnSGZNenRlSEwz Y25xQ2RwRG9vancxNzFzLw0KSSBzZWUgcHJpbmNpcGxlcy4gQnV0IEknbSBub3Qgc3VyZSB3aGF0 IHlvdSBtZWFuIGJ5IHVzZS1jYXNlICdBJyA/DQoNCg0KDQpGb3IgaW1wbGVtZW50YXRpb25zIHRo YXQgY29tYmluZSB0aGUgc3lzdGVtIGludG8gPHJ1bm5pbmc+LCB1bmRvaW5nDQp0aGlzIGJlaGF2 aW9yIHdvdWxkIGJlIHF1aXRlIGRpc3J1cHRpdmUgYW5kIHRoZXJlZm9yZSBub3QgbGlrZWx5IHRv IGJlIGRvbmUuDQoNCkkgZG8gbm90IHN1cHBvcnQgbWVyZ2luZyA8c3lzdGVtPiBpbnRvIDxydW5u aW5nPiAodW5sZXNzIGFwcHJvcHJpYXRlbHktYW5ub3RhdGVkIGluIGEg4oCcd2l0aC1zeXN0ZW3i gJ0gPGdldC1jb25maWc+IHJlc3BvbnNlKS4gIEkgZG8gc3VwcG9ydCBtZXJnaW5nIDxzeXN0ZW0+ IGludG8gPGludGVuZGVkPi4NCls+PkpUUzogXSBJJ20gYWxzbyBkb3VidGZ1bCBhYm91dCBtZXJn aW5nIGludG8gcnVubmluZyAodGhhdCBtZWFucyBtYWdpYyBjb25maWcgYXBwZWFyaW5nIGluIHJ1 bm5pbmcpLiBFdmVuIHdpdGggYW5ub3RhdGlvbiwgYSBjbGllbnQgdGhhdCBkb2VzbuKAmXQgdW5k ZXJzdGFuZCB0aGUgYW5ub3RhdGlvbiB3b3VsZCBqdXN0IHNlZSB0aGlzIGFzIGNvbmZpZyBiZWlu ZyBhZGRlZCB0aGF0IHRoZXkgZGlkbid0IGFkZC4NCkFuIGV4cGxpY2l0IFJQQyB0byBjYXVzZSB0 aGUgYWRkaXRpb24gbWlnaHQgYmUgT0ssIGJ1dCB0aGVuIGEgY2xpZW50IHdvdWxkIGhhdmUgdG8g Y29udGludWFsbHkgaXNzdWUgdGhhdCBSUEMgKG1heWJlIGFmdGVyIGV2ZXJ5IGVkaXQtY29uZmln KS4NCg0KDQoNCkl0IHdvdWxkIGhlbHAgdG8gaGF2ZSBzb21lIGNvbW1vbiB1bmRlcnN0YW5kaW5n IG9mIHRoZSBjb250ZW50cyBvZiA8c3lzdGVtPi4NCk1heWJlIHN0YXJ0IHdpdGggdGhlIHdlbGwt a25vd24gImludGVyZmFjZSBwcm9ibGVtIi4gIFRoZSBzeXN0ZW0gY29uZmlndXJlcyBhbG1vc3Qg ZW1wdHkgcGh5c2ljYWwgaW50ZXJmYWNlcy4gIFRoZSB1c2VyIGlzIGFsbG93ZWQgdG8gYWRkLCBt b2RpZnksIGFuZCBkZWxldGUgYWxsIGRlc2NlbmRhbnRzIGV4Y2VwdCB0aGUgIm5hbWUiIGFuZCAi dHlwZSIgbGVhZiwgd2hpY2ggYXJlIHNldCBieSB0aGUgc3lzdGVtLg0KDQpJIGFncmVlIHRoYXQg Y29uY3JldGUgdXNlLWNhc2VzIGFyZSBuZWVkZWQuICBUaGUgbGluayBwcm92aWRlZCBhdCB0b3Ag cHJvdmlkZXMgc29tZSwgYnV0IG5vdCBhbGwsIGFuZCBkZWZpbml0ZWx5IG5vdCB0aGUgc3BlY2lm aWMgb25lIHlvdSBqdXN0IG1lbnRpb25lZCAod2hpY2ggcmVnYXJkcyBpbnRvIEJhbGF6c+KAmXMg dXNlLWNhc2Ug4oCYQeKAmSBhbmQgSmFzb27igJlzIOKAnGltbXV0YWJsZeKAnSBjb25maWcpLg0K DQoNCg0KSW4gdGhpcyBjYXNlIDxydW5uaW5nPiB3aWxsIGhhdmUgdGhlIC9pbnRlcmZhY2VzL2lu dGVyZmFjZSBub2RlcyBpbiB0aGVtIChvciBlbHNlIHRoZSBjbGllbnQtYWNjZXNzaWJsZSBub2Rl cyBjb3VsZCBub3QgYmUgcmVwcmVzZW50ZWQgaW4gTkVUQ09ORikuICBTbyBhbnkgY29uZmlnPXRy dWUgWFBhdGggY2FuIHBvaW50IGF0IG5hbWUgb3IgdHlwZSBsZWFmcyBpbiA8cnVubmluZz4gb3Ig PG9wZXJhdGlvbmFsPi4NCg0KQWNrLg0KDQoNCg0KSSBoYXZlIGhlYXJkIHRoYXQgPHN5c3RlbT4g aXMgbmVlZGVkIGJlY2F1c2UgaXQgaGFzIG5vZGVzIGluIGl0IHRoYXQgZG8gbm90IGV4aXN0DQpp biA8cnVubmluZz4gb3IgPG9wZXJhdGlvbmFsPiwgYnV0IGNvdWxkIGV4aXN0LiAgVGhlIHByZW1p c2UgaXMgdGhhdCB0aGUgc2VydmVyIGNvdWxkIGhhdmUgY3JlYXRlZCB0aGVzZSBub2RlcyBidXQg aXQgZGlkIG5vdCBmb3Igc29tZSByZWFzb24uICBBbmQgdGhlIGNsaWVudCBjYW4gaW5zcGVjdCB0 aGVzZSBub2RlcyBhbmQgc29tZWhvdyBmb3JjZSB0aGUgc2VydmVyIHRvIGNoYW5nZSB0aGUgbm9k ZXMgaXQgYWRkcyB0byA8cnVubmluZz4uIChTbyB3aGF0IGlzIHRoZSByZWFsIHVzZS1jYXNlIHRo ZW4/KQ0KDQpUaGlzIGlzIHdoYXQgdGhlIGxpbmsgcHJvdmlkZWQgYXQgdGhlIHRvcCBvZiB0aGlz IG1lc3NhZ2UgcmVnYXJkcy4NCg0KDQoNClJldHJpZXZpbmcgdGhlIHN5c3RlbS1jcmVhdGVkIG5v ZGVzIHdpdGggb3JpZ2luPXN5c3RlbSBpcyBhbHJlYWR5IHN1cHBvcnRlZCBieSBOTURBLg0KDQpU cnVlLCBidXQgdGhpcyDigJxzeXN0ZW0gY29uZmln4oCdIGZlZWxzIGRpZmZlcmVudCwgb3IgYXQg bGVhc3QgcGFydHMgb2YgaXQgZG9lcy4gIFdlIG1heSBuZWVkIHRvIHRlYXNlIGFwYXJ0IHRoZSDi gJxsZWFmcmVmLWFibGUgc3lzdGVtIG5vZGVz4oCdIGZyb20gdGhlIOKAnHJlc291cmNlLWluZGVw ZW5kZW50IG5vZGVz4oCdIGZyb20gdGhlIOKAnHJlc291cmNlLWRlcGVuZGVudCBub2Rlc+KAnS4N Cg0KDQoNCksuDQoNCg0K --_000_DM6PR08MB508479DC55B4D4A0E5B11AD19BFA9DM6PR08MB5084namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6eD0idXJuOnNjaGVtYXMtbWljcm9z b2Z0LWNvbTpvZmZpY2U6ZXhjZWwiIHhtbG5zOm09Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j b20vb2ZmaWNlLzIwMDQvMTIvb21tbCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1o dG1sNDAiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+DQo8bWV0YSBuYW1lPSJHZW5lcmF0b3IiIGNvbnRl bnQ9Ik1pY3Jvc29mdCBXb3JkIDE1IChmaWx0ZXJlZCBtZWRpdW0pIj4NCjxzdHlsZT48IS0tDQov KiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJDYW1icmlh IE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtm b250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30NCi8q IFN0eWxlIERlZmluaXRpb25zICovDQpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNv Tm9ybWFsDQoJe21hcmdpbjowY207DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToi Q2FsaWJyaSIsc2Fucy1zZXJpZjt9DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1z dHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxp bmU7fQ0Kc3Bhbi5hcHBsZS10YWItc3Bhbg0KCXttc28tc3R5bGUtbmFtZTphcHBsZS10YWItc3Bh bjt9DQpzcGFuLkVtYWlsU3R5bGUyMA0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1jb21wb3Nl Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOndpbmRvd3RleHQ7 fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1z aXplOjEwLjBwdDt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7 DQoJbWFyZ2luOjcyLjBwdCA3Mi4wcHQgNzIuMHB0IDcyLjBwdDt9DQpkaXYuV29yZFNlY3Rpb24x DQoJe3BhZ2U6V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4 bWw+DQo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94 bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2 OmV4dD0iZWRpdCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFw ZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLUNBIiBs aW5rPSJibHVlIiB2bGluaz0icHVycGxlIiBzdHlsZT0id29yZC13cmFwOmJyZWFrLXdvcmQiPg0K PGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0 eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+VGh4IEtlbnQuIFBsZWFzZSBzZWUgaW5s aW5lLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0 eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+SmFzb248bzpwPjwvbzpwPjwvc3Bhbj48 L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3Vh Z2U6RU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgc3R5bGU9ImJvcmRl cjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzowY20gMGNtIDBjbSA0 LjBwdCI+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAj RTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20iPg0KPHAgY2xhc3M9Ik1zb05v cm1hbCI+PGI+PHNwYW4gbGFuZz0iRU4tVVMiPkZyb206PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJF Ti1VUyI+IEtlbnQgV2F0c2VuICZsdDtrZW50K2lldGZAd2F0c2VuLm5ldCZndDsNCjxicj4NCjxi PlNlbnQ6PC9iPiBNb25kYXksIEF1Z3VzdCA5LCAyMDIxIDk6NTkgUE08YnI+DQo8Yj5Ubzo8L2I+ IEFuZHkgQmllcm1hbiAmbHQ7YW5keUB5dW1hd29ya3MuY29tJmd0Ozxicj4NCjxiPkNjOjwvYj4g U3Rlcm5lLCBKYXNvbiAoTm9raWEgLSBDQS9PdHRhd2EpICZsdDtqYXNvbi5zdGVybmVAbm9raWEu Y29tJmd0OzsgbmV0bW9kQGlldGYub3JnPGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBbbmV0bW9k XSBzeXN0ZW0gY29uZmlndXJhdGlvbiBzeW5jIG1lY2hhbmlzbTxvOnA+PC9vOnA+PC9zcGFuPjwv cD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw PjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4N CjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhlcmUgd2FzIGEgcmVxdWVzdCBmb3IgY29u Y3JldGUgdXNlIGNhc2VzLiAmbmJzcDtUaGlzIGVtYWlsIGZyb20gYmVmb3JlIHdhcyBnb29kOjxv OnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9v OnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gY2xhc3M9 ImFwcGxlLXRhYi1zcGFuIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgPC9zcGFuPjxhIGhyZWY9Imh0 dHBzOi8vbWFpbGFyY2hpdmUuaWV0Zi5vcmcvYXJjaC9tc2cvbmV0bW9kL3Y1Y05MY0MyRl9PVDh0 LTQwN0YzWmo2VndzNC8iPmh0dHBzOi8vbWFpbGFyY2hpdmUuaWV0Zi5vcmcvYXJjaC9tc2cvbmV0 bW9kL3Y1Y05MY0MyRl9PVDh0LTQwN0YzWmo2VndzNC88L2E+PG86cD48L286cD48L3A+DQo8L2Rp dj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48 L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48aT5bJmd0OyZndDtKVFM6IF0gSSBzYXcgdGhl IHRheG9ub215IG9mIHJlc291cmNlLWRlcGVuZGFudCB2cyByZXNvdXJjZS1pbmRlcGVuZGVudCwg YW5kIHRoZSBzdWItY2F0ZWdvcmllcyBvZiBhcHBsaWVkLWltbWVkaWF0ZWx5IHZzIGFwcGxpZWQt YWZ0ZXItcmVmZXJlbmNlLiBBbmQgdGhlbiB0aGUgY29uY2VwdCBvZiAmcXVvdDtjb25kaXRpb25h bCZxdW90OyBzeXN0ZW0gY29uZmlnLiBCdXQgSSB0aGluayB0aGVyZSBtYXkgYWxzbw0KIGJlIHR3 byBvcnRob2dvbmFsIGNvbmNlcHRzIHRoYXQgbmVlZCB0byBiZSBjbGFyaWZpZWQ6PG86cD48L286 cD48L2k+PC9iPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxpPjEpIGRlbGV0YWJsZS9y ZW1vdmFibGUgdnMgbm9uLXJlbW92YWJsZTxvOnA+PC9vOnA+PC9pPjwvYj48L3A+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj48Yj48aT4yKSBtb2RpZmlhYmxlIHZzIG5vbi1tb2RpZmlhYmxlIChpLmUu IGNhbiB5b3UgbW9kaWZ5IGVsZW1lbnRzIGluIHRoZSBsaXN0IGVudHJ5KTxvOnA+PC9vOnA+PC9p PjwvYj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48aT48bzpwPiZuYnNwOzwvbzpwPjwv aT48L2I+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PGk+TGV0IG1lIGdpdmUgeW91IGFu IGV4YW1wbGUgdXNlIGNhc2Ugb2YgZGVsZXRhYmxlK21vZGlmaWFibGU6PG86cD48L286cD48L2k+ PC9iPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxpPi0gdXNlciAmcXVvdDthZG1pbiZx dW90OyZuYnNwOyAobGlzdCBlbnRyeSk8bzpwPjwvbzpwPjwvaT48L2I+PC9wPg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PGI+PGk+LSBleGlzdHMgaW4gJmx0O3J1bm5pbmcmZ3Q7IHdoZW4gdGhlIHNl cnZlciBib290cyB1cCB3aXRoIG5vICZsdDtzdGFydHVwJmd0OyBEUzxvOnA+PC9vOnA+PC9pPjwv Yj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48aT4tIGNhbiBiZSBkZWxldGVkIGJ5IHRo ZSBjbGllbnQgKGFuZCB0aGVuIGEgY29weS1jb25maWcgZnJvbSAmbHQ7cnVubmluZyZndDsgdG8g Jmx0O3N0YXJ0dXAmZ3Q7IHdvdWxkIGNyZWF0ZSBhICZsdDtzdGFydHVwJmd0OyB3aXRoIHRoZSBh YnNlbmNlIG9mIHRoZSB1c2VyICZxdW90O2FkbWluJnF1b3Q7PG86cD48L286cD48L2k+PC9iPjwv cD4NCjwvZGl2Pg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48aT4tIEkg dGhpbmsgdGhpcyBwYXJ0aWN1bGFyIGV4YW1wbGUgd291bGQgYmUgJnF1b3Q7cmVzb3VyY2UtaW5k ZXBlbmRlbnQmcXVvdDssICZxdW90O2FwcGxpZWQtaW1tZWRpYXRlbHkmcXVvdDssIGFuZCAmcXVv dDtub24tY29uZGl0aW9uYWwmcXVvdDsgKGJ1dCB0aGVyZSBjb3VsZCBhbHNvIGJlIGRlbGV0YWJs ZSttb2RpZmlhYmxlIG9iamVjdHMgdGhhdCBhcmUgYXBwbGllZC1hZnRlci1yZWZlcmVuY2Ugb3Ig cmVzb3VyY2UtZGVwZW5kYW50KTxvOnA+PC9vOnA+PC9pPjwvYj48L3A+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48Yj48aT4tIGJ1dCBJIGFsc28gdGhpbmsgdGhhdCBkZWxldGFibGUgZW50cmllcyBs aWtlIHRoaXMgY2FuIGp1c3QgYmUgaGFuZGxlZCBhcyBzeXN0ZW0gcG9wdWxhdGVkICZsdDtydW5u aW5nJmd0OyBjb25maWcgYXQgYm9vdCB0aW1lIHdoZW4gdGhlcmUgaXMgbm8gJmx0O3N0YXJ0dXAm Z3Q7IERTIHByZXNlbnQ8bzpwPjwvbzpwPjwvaT48L2I+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PGI+PGk+PG86cD4mbmJzcDs8L286cD48L2k+PC9iPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxiPjxpPkFuIGV4YW1wbGUgb2Ygbm9uLWRlbGV0YWJsZSttb2RpZmlhYmxlOjxvOnA+PC9v OnA+PC9pPjwvYj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48aT4tIENQVSBwcm90ZWN0 aW9uIHBvbGljeSBudW1iZXIgMjU1IChyYXRlIGxpbWl0IGZvciBleHRyYWN0ZWQgY29udHJvbCB0 cmFmZmljKSB0aGF0IGNhbiBiZSBhc3NpZ25lZCB0byBhbiBpbnRlcmZhY2UgKGxlYWZyZWYgZnJv bSBpbnRlcmZhY2UtJmd0O3Byb3RlY3Rpb24gcG9saWN5KTxvOnA+PC9vOnA+PC9pPjwvYj48L3A+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48aT4tIG5vdCBzaG93biBpbiAmbHQ7cnVubmluZyZn dDsgdW5sZXNzIHRoZSBjbGllbnQgZXhwbGljaXRseSBtb2RpZmllcyBwYXJhbWV0ZXJzIG9mIHRo YXQgcHJvdGVjdGlvbiBwb2xpY3k8bzpwPjwvbzpwPjwvaT48L2I+PC9wPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PGI+PGk+LSBhbiBvcHRpb24gPzogaGF2ZSB0aGlzIHNob3cgdXAgaW4gJmx0O3J1 bm5pbmcmZ3Q7IGlmIHRoZSBjbGllbnQgc2ltcGx5IGV4cGxpY2l0bHkgY3JlYXRlcyB0aGUgbGlz dCBlbnRyeTxvOnA+PC9vOnA+PC9pPjwvYj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48 aT48bzpwPiZuYnNwOzwvbzpwPjwvaT48L2I+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+ PGk+QW4gZXhhbXBsZSBvZiBub24tZGVsZXRhYmxlK25vbi1tb2RpZmlhYmxlOjxvOnA+PC9vOnA+ PC9pPjwvYj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48aT4tIFFvUyBwb2xpY3kgMSB0 aGF0IGlzIGFzc2lnbmVkIHRvIGV2ZXJ5IGludGVyZmFjZSBieSBkZWZhdWx0PG86cD48L286cD48 L2k+PC9iPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxpPi0gVGhlIGxlYWZyZWYgZnJv bSBpbnRlcmZhY2UtJmd0O3FvcyBwb2xpY3kgMSBoYXMgYSBkZWZhdWx0IHZhbHVlIG9mICZxdW90 OzEmcXVvdDsgaW4gdGhlIFlBTkcgbW9kZWw8bzpwPjwvbzpwPjwvaT48L2I+PC9wPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PGI+PGk+LSBhbiBvcHRpb24gPzogaGF2ZSB0aGlzIHNob3cgdXAgaW4g Jmx0O3J1bm5pbmcmZ3Q7IGlmIHRoZSBjbGllbnQgc2ltcGx5IGV4cGxpY2l0bHkgY3JlYXRlcyB0 aGUgbGlzdCBlbnRyeTxvOnA+PC9vOnA+PC9pPjwvYj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48Yj48aT48bzpwPiZuYnNwOzwvbzpwPjwvaT48L2I+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj5Nb3JlIGJlbG93OjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+ PGk+WyZndDsmZ3Q7SlRTOiBdIFBsZWFzZSBzZWUgaW5saW5lIGJlbG93PC9pPjwvYj48bzpwPjwv bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7 PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJz cDs8L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGJyPg0KPGJyPg0KPG86 cD48L286cD48L3A+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBwdDttYXJnaW4t Ym90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiBBdWcgOSwgMjAy MSwgYXQgNjoyMyBQTSwgQW5keSBCaWVybWFuICZsdDs8YSBocmVmPSJtYWlsdG86YW5keUB5dW1h d29ya3MuY29tIj5hbmR5QHl1bWF3b3Jrcy5jb208L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwv cD4NCjwvZGl2Pg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86 cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v cm1hbCI+T24gTW9uLCBBdWcgOSwgMjAyMSBhdCAyOjUxIFBNIFN0ZXJuZSwgSmFzb24gKE5va2lh IC0gQ0EvT3R0YXdhKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmphc29uLnN0ZXJuZUBub2tpYS5jb20i Pmphc29uLnN0ZXJuZUBub2tpYS5jb208L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjwv ZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICND Q0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDtt YXJnaW4tcmlnaHQ6MGNtIj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5 bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5I aSBndXlzLDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpw PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+SSdtIGxhdGUgdG8gdGhlIGdhbWUg b24gdGhpcyB0aHJlYWQgYnV0IEkgZGlkIHJlYWQgdGhyb3VnaCB0aGUgZW50aXJlIHRoaW5nICh3 aGV3IC0gY2FuJ3QgcHJvbWlzZSBJIGFic29yYmVkIGV2ZXJ5IG51YW5jZSB0aG91Z2gpLiBJIGFt IGZhbWlsaWFyIHdpdGggdGhpcyBpc3N1ZS4gSSd2ZSBiZWVuIGRlYWxpbmcNCiB3aXRoIGl0IGZy b20gdGhlIHNlcnZlciBpbXBsZW1lbnRhdGlvbiBzaWRlIChzb21lIGNsaWVudHMgKjxiPmRvPC9i PiogY29tcGxhaW4gaWYgdGhlcmUgYXJlIHJlZmVyZW5jZXMgdG8gbWlzc2luZyAmcXVvdDtzeXN0 ZW0gY29uZmlnJnF1b3Q7IGxpc3QgZW50cmllcykuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0 b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv Ij5PbmUgb2YgdGhlIHByZXR0eSBmdW5kYW1lbnRhbCBpc3N1ZXMgSU1PIGlzIHdoZXRoZXIgd2Ug d2FudCBnb29kIG9sJyBzdGFuZGFyZCAmbHQ7cnVubmluZyZndDsgdG8gYWx3YXlzIGJlIHZhbGlk IChpbmNsdWRpbmcgZm9yIGFuIG9mZmxpbmUgY2xpZW50IG9yIHRvb2wgdG8gYmUgYWJsZSB0byB2 YWxpZGF0ZSBpbnN0YW5jZQ0KIGRhdGEgcmV0cmlldmVkIGZyb20gYSBzZXJ2ZXIgYWdhaW5zdCB0 aGUgWUFORyBtb2RlbHMpLiBFdmVuIHdpdGhvdXQgdGhpcyAmcXVvdDtzeXN0ZW0gY29uZmlnJnF1 b3Q7IHRvcGljLCB3ZSBhbHJlYWR5IGhhdmUgYSBsb29taW5nIHByb2JsZW0gd2l0aCBjb25maWcg dGVtcGxhdGVzICZhbXA7IGV4cGFuc2lvbi4mbmJzcDsgU2VydmVycyB3aXRoIFlBTkcgbW9kZWxz IHRoYXQgZG9jdW1lbnQgYSBsb3Qgb2YgY29uc3RyYWludHMgKGUuZy4gbGVhZnJlZnMsIG1hbmRh dG9yeSBzdGF0ZW1lbnRzLA0KIGV0YykgYXJlIG1vcmUgbGlrZWx5IHRvIGhpdCB0aGlzIGlzc3Vl IG9mIGFuIGludmFsaWQgcnVubmluZyBjb25maWcgKG9mZmxpbmUpLjxvOnA+PC9vOnA+PC9wPg0K PC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwv YmxvY2txdW90ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkkgdGhpbmsgdGhhdCBp dCBpcyBhbHJlYWR5IHRoZSBjYXNlIHdpdGggSlVOT1MgdGhhdCAmbHQ7cnVubmluZyZndDsgYnkg aXRzZWxmIGNhbm5vdCBiZSB2YWxpZGF0ZWQgYnkgYSBjbGllbnQgdW5hd2FyZSBvZiBob3cgSlVO T1MgdGVtcGxhdGVzIHdvcmvigKZhcyB0aGUgdGVtcGxhdGVzIG1heSBzdXBwbHkgbWFuZGF0b3J5 IG5vZGVzIGFuZC9vciB2YWx1ZXMsIG9yIHNvbWUgdmFsaWRhdGlvbnMgb25seSBtYWtlIHNlbnNl IHRvDQogZXZhbHVhdGUgd2hlbiB0aGUgY29uZmlnIGlzIGZsYXR0ZW5lZCAoZS5nLiwgZW5zdXJp bmcgJnF1b3Q7bWF4LWVsZW1lbnRzJnF1b3Q7IGlzIG5vdCBleGNlZWRlZCwgZW5zdXJpbmcgQUNM cyBhbHdheXMgZW5kIHdpdGggYSB0ZXJtaW5hbCBydWxlcywgZXRjLikuPG86cD48L286cD48L3A+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48aT5bJmd0OyZndDtKVFM6IF0gQ2xpZW50cyBtYXkg bm90IGhpdCB0aGlzIGFzIG11Y2ggd2l0aCBKVU5PUy4gVGhlIGxhdGVzdCBtb2RlbHMgSSBsb29r ZWQgYXQgZGlkbid0IGhhdmUgYW55IGxlYWZyZWZzIGFuZCBoYWQgdmVyeSBmZXcgbWFuZGF0b3J5 IHN0YXRlbWVudHMuIFNvIEknbSBub3Qgc3VyZSB3aGF0IHBhcnRzIG9mIHRoZSB0ZW1wbGF0ZXMg cHJvdmlkZSBkYXRhIHRoYXQgaXMgcmVxdWlyZWQgdG8gdmFsaWRhdGUNCiBydW5uaW5nIGFnYWlu c3QgdGhlIFlBTkcgbW9kZWxzID88YnI+DQpCdXQgZm9yIG1vZGVscyB3aXRoIGxlYWZyZWZzIGFu ZCBtYW5kYXRvcnkgc3RhdGVtZW50cywgdGhlcmUgaXMgaGlnaCBsaWtlbGlob29kIHRoYXQgY2xp ZW50cyB3b24ndCBiZSBhYmxlIHRvIGRvIG9mZmxpbmUgdmFsaWRhdGlvbiBpZiB0ZW1wbGF0ZXMg YXJlIHVzZWQuPC9pPjwvYj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3Rl IHN0eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxk aXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0ND Q0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21h cmdpbi1yaWdodDowY20iPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPkkn bSBkb3VidGZ1bCB0aGF0IGl0IGlzIGVhc3kgZm9yIGEgY2xpZW50IHRvIGtub3cgaG93IHRlbXBs YXRlcyBhcmUgZXhwYW5kZWQgZm9yIGFsbCBnaXZlbiBzZXJ2ZXJzLiBVbmxlc3MgdGhhdCBleHBh bnNpb24gaXMgZnVsbHkgc3RhbmRhcmRpemVkICh3aGljaCB3b3VsZCBiZSBjaGFsbGVuZ2luZyBn aXZlbg0KIG11bHRpcGxlIGRpZmZlcmVudCBzaGlwcGluZyBpbXBsZW1lbnRhdGlvbnMgaW4gdGhl IGluZHVzdHJ5KSwgdGhlcmUgY2FuIGJlIHNvbWUgc3VidGxlIGNvcm5lciBjYXNlcyBhbmQgaXQg Y2FuIGJlIGNvbXBsZXggKG11bHRpcGxlIGxldmVscyBvZiB0ZW1wbGF0ZSBhcHBsaWNhdGlvbiwg ZXhjbHVzaW9uIHJ1bGVzLCBldGMpLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwv YmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+QWdyZWVkLCBub3QgZWFzeSBidXTigKY8bzpwPjwvbzpwPjwvcD4NCjwv ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0K PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+U29tZSBbc21hcnRdIGNsaWVudHMg bWF5IG5ldmVyIG5lZWQgdG8gZ3JvayBob3cgZGV2aWNlLWxldmVsIHRlbXBsYXRlcyBhcmUgZXhw YW5kZWQuICZuYnNwO0ZvciBpbnN0YW5jZSwgdGhlIE5NUyBJIHdvcmtlZCBvbiBpbiBhIHByZXZp b3VzIGxpZmUgd291bGQgYWx3YXlzIG9uYm9hcmQgYSBuZXcgZGV2aWNlIGJ5IGFza2luZyB0aGUg ZGV2aWNlIHRvIHByb3ZpZGUgaXRzIGNvbmZpZyZuYnNwOzxzcGFuIHN0eWxlPSJjb2xvcjpibGFj ayI+YWxyZWFkeTwvc3Bhbj4mbmJzcDtleHBhbmRlZCwNCiBhbmQgdGhlcmVhZnRlciB3b3VsZCBu ZXZlciBzZW5kIHRlbXBsYXRlZC1jb25maWcgdG8gdGhlIGRldmljZSAobm90ZTogdGhlIE5NUyBo YWQgaXRzIG93biB0ZW1wbGF0ZSBtZWNoYW5pc20pLiAmbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxpPlsmZ3Q7Jmd0O0pUUzogXSBCdXQgdGhhdCdzIG1vdmlu ZyB0aGUgbWFzdGVyc2hpcC9vd25lcnNoaXAgKGkuZS4gZGVmaW5pdGl2ZSB2aWV3IG9mIHRoZSAm bHQ7cnVubmluZyZndDspIGRvd24gdG8gdGhlIHNlcnZlci4gT3IgYWJhbmRvbmluZyB0ZW1wbGF0 ZXMgYXMgcGFydCBvZiB0aGUgb3BlcmF0b3Itb3duZWQgY29uZmlnLjwvaT48L2I+PG86cD48L286 cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwv bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk9uIHRoZSBvdGhl ciBlbmQgb2YgdGhlIGNsaWVudC1zcGVjdHJ1bSwgb3RoZXIgW2R1bWJdIGNsaWVudHMgbWF5IGFs c28gbm90IG5lZWQgdG8mbmJzcDs8c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPmdyb2sgaG93IGRl dmljZS1sZXZlbCB0ZW1wbGF0ZXMgYXJlIGV4cGFuZGVkLCBhcyB0aGV5IG1vc3RseSBwdXNoIHNp bXBsZSB1cGRhdGVzIChlLmcuLCBvcGVuIGEgcG9ydCkga25vd24gdG8gcGFzcyB2YWxpZGF0aW9u IGFuZC9vcg0KIHJlbHkgb24gc2VydmVyLXNpZGUgdmFsaWRhdGlvbi48L3NwYW4+PG86cD48L286 cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48aT5bJmd0OyZndDtKVFM6IF0gSWYgd2Ug b25seSB3YW50IHRvIHNvbHZlIHNlcnZlci1zaWRlIHZhbGlkYXRpb24gdGhlbiB0aGlzIGdldHMg ZWFzaWVyLiBBbmQgbWF5YmUgdGhhdCBpcyB0aGUgYW5zd2VyLiBCdXQgc29tZSBjbGllbnRzIHRv ZGF5IGRvIGNvbXBsYWluIHdoZW4gb2ZmbGluZSB2YWxpZGF0aW9uIGZhaWxzLjwvaT48L2I+PG86 cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZu YnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk9mIGNv dXJzZSwgdGhlcmUgTUFZIGJlJm5ic3A7PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj5jbGllbnRz PC9zcGFuPiZuYnNwO2luLWJldHdlZW4gdGhhdCByZWFkL3dyaXRlIHRlbXBsYXRlZC1jb25maWcg YW5kLCBpZiB0aGV5IHdpc2ggdG8gcGVyZm9ybSBvZmYtYm94IHZhbGlkYXRpb24sIG1vc3QgbGlr ZWx5IHdpbGwgbmVlZCB0byBncm9rIGhvdyZuYnNwOzxzcGFuIHN0eWxlPSJjb2xvcjpibGFjayI+ dGVtcGxhdGVzIGFyZSBleHBhbmRlZC48L3NwYW4+PGI+PGk+WyZndDsmZ3Q7SlRTOg0KIF0gWWVz IC0gSSB0aGluayB0aGlzIGlzIHRoZSBpc3N1ZSAoYW5kIHdvcmtmbG93KSB3ZSdyZSB0cnlpbmcg dG8gYWRkcmVzcyBoZXJlLjwvaT48L2I+PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPjxicj4NCjxicj4N Cjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFy Z2luLXRvcDo1LjBwdDttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8ZGl2Pg0KPGJsb2Nr cXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7 cGFkZGluZzowY20gMGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6 MGNtIj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5JIGFncmVlIHRoZXJl IGNhbiBiZSBkeW5hbWljYWxseSBhZGRlZCBzeXN0ZW0gY29uZmlnIChlLmcuIGNyZWF0ZSBhIG5l dyBxb3MgcG9saWN5LCBhbmQgc29tZSBxdWV1ZSBsaXN0IGVudHJpZXMgYXJlIGF1dG9tYXRpY2Fs bHkgY3JlYXRlZCBpbnNpZGUgdGhhdCBwb2xpY3kpLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8 L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIj5JJ20gdW5zdXJlIGhvdyB0aGlzIHJlbGF0ZXMuPGI+PGk+WyZndDsm Z3Q7SlRTOiBdIFFpdWZhbmcgd2FzIGFza2luZyBpZiBjb25kaXRpb25hbCBzeXN0ZW0gY29uZmln IGV4aXN0cy4gSXQgZG9lcyBpbiBzb21lIGltcGxlbWVudGF0aW9ucy48L2k+PC9iPjxicj4NCjxi cj4NCjxicj4NCjxicj4NCjxvOnA+PC9vOnA+PC9wPg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdp bi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxibG9ja3F1 b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3Bh ZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0OjBj bSI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Tm90ZSB0aGF0IGNvbmZp ZyBhZGRlZCBieSB0aGUgc3lzdGVtIGNvdWxkIGJlIGRlbGV0YWJsZSBvciBub24tZGVsZXRhYmxl LiBGb3IgZGVsZXRhYmxlIGl0ZW1zIHRoZXJlIHdlcmUgc29tZSBwcmV2aW91cyBkaXNjdXNzaW9u cyBhIGZldyB5ZWFycyBhZ28gdGhhdCB0aG9zZSBsaXN0IGVudHJpZXMgY291bGQNCiBiZSBzaW1w bHkgYSBkZWZhdWx0IGNvbmZpZyB0aGF0IGlzIHBvcHVsYXRlZCBpZiB0aGUgc3RhcnR1cCBkYXRh c3RvcmUgaXMgZW1wdHkgYXQgYm9vdCB0aW1lLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rp dj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj5ZZXMsIGJ1dCBJIHRoYXTigJlzIGEgZGlmZmVyZW50IHVzZS1jYXNlLCBy aWdodD8gJm5ic3A7KHNlZSB0aGUgbGluayB0byBjb25jcmV0ZSB1c2UgY2FzZXMgcHJvdmlkZWQg YXQgdG9wKTxiPjxpPlsmZ3Q7Jmd0O0pUUzogXSBOb3QgcmVhbGx5IGEgZGlmZmVyZW50IHVzZS1j YXNlLiBBIGRpZmZlcmVudCBhdHRyaWJ1dGUgb2Ygc29tZSBvZiB0aGUgdXNlIGNhc2VzIHdlJ3Jl IGRpc2N1c3NpbmcuIEkgdGhpbmsgaXRzIGFub3RoZXIgZGltZW5zaW9uDQogd2UgbmVlZCB0byBj b25zaWRlciAoYWxvbmcgd2l0aCA8L2k+PC9iPjxiPjxpPnJlc291cmNlLWRlcGVuZGFudCB2cyBy ZXNvdXJjZS1pbmRlcGVuZGVudCwgYXBwbGllZC1pbW1lZGlhdGVseSB2cyBhcHBsaWVkLWFmdGVy LXJlZmVyZW5jZSwgY29uZGl0aW9uYWwgdnMgbm9uLWNvbmRpdGlvbmFsKS48L2k+PC9iPjxvOnA+ PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJz cDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZu YnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4t dG9wOjUuMHB0O21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8YmxvY2txdW90 ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRk aW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20i Pg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhlIHN5c3RlbSBj b25maWcgbGlzdCBlbnRyaWVzIGNvdWxkIGFsc28gaGF2ZSBsZWFmcyB0aGF0IGFyZSBtb2RpZmlh YmxlIGFuZCBsZWFmcyB0aGF0IGFyZSBpbW11dGFibGUuIEZvciB0aGUgbW9kaWZpYWJsZSBvYmpl Y3RzIEkgdGhpbmsgdGhpcyBpcyBiYXNpY2FsbHkgdGhlIHN5c3RlbSBtZXJnaW5nIHRoZSBleHBs aWNpdCBjb25maWcgd2l0aCB0aGUgc3lzdGVtIGNvbmZpZyAod2l0aCB0aGUgZXhwbGljaXQNCiB0 YWtpbmcgcHJlY2VkZW5jZSkuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+ DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhlIOKAnG1vZGlmaWFibGXigJ0gbGVhZnMgYXJlIGluIHRo aXMgdXNlLWNhc2UsIGFzc3VtaW5nIOKAnG1vZGlmaWFibGUmcXVvdDsgaXMgdGhlIHN5bm9ueW1v dXMgYXMg4oCcb3Zlci13cml0YWJsZSZxdW90Oy4gJm5ic3A7U29tZSDigJxpbW11dGFibGXigJ0g bGVhZnMgYXJlIG1vcmUgbGlrZSB0aG9zZSBkaXNjdXNzZWQgaW4mbmJzcDtSRkMgODM0MiBTZWN0 aW9uIDUsIGJ1dCBvdGhlcnMgYXJlIGxpa2Ugd2hhdCBBbmR5IGRpc2N1c3NlcyBiZWxvdyAobm90 ZTogdGhlc2UNCiBpbW11dGFibGUgbm9kZXMgYXJlIG5vdCBjdXJyZW50bHkgaW4gc2NvcGUsIGFz IEkgdW5kZXJzdGFuZCBpdCkuPGI+PGk+WyZndDsmZ3Q7SlRTOiBdIFllcyAtIEknbSB0aGlua2lu ZyBvZiBtb2RpZmlhYmxlIGFzIG92ZXItd3JpdGFibGUuIE1heWJlIHRoaXMgaXMgYSBzZXBhcmF0 ZSBpc3N1ZSAtIEknbSBub3Qgc3VyZSB5ZXQuPC9pPjwvYj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2 Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9k aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48YnI+DQo8YnI+DQo8bzpwPjwvbzpwPjwvcD4NCjxi bG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1ib3R0b206NS4wcHQiPg0K PGRpdj4NCjxkaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6 c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0 OjQuOHB0O21hcmdpbi1yaWdodDowY20iPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0 OmF1dG8iPlBlcmhhcHMgYSBsb3Qgb2YgdGhpcyBzeXN0ZW0gY29uZmlnIGlzIGEgbGVnYWN5IGhv bGQgb3ZlciBmcm9tIGh1bWFuLWRyaXZlbiBDTElzLiBGb3IgbWFjaGluZSBpbnRlcmZhY2VzIG1h eWJlIGl0J3MgcmVhc29uYWJsZSB0byBoYXZlIGNsaWVudHMgZXhwbGljaXRseSBkZWZpbmUgdGhl aXIgY29uZmlnICo8Yj5pZjwvYj4qDQogdGhleSBuZWVkIG9mZmxpbmUgdmFsaWRhdGlvbiBvZiAm bHQ7cnVubmluZyZndDsgdG8gc3VjY2VlZCAoaS5lLiBhbGxvdyBjbGllbnRzIHRvIGV4cGxpY2l0 bHkgY29uZmlndXJlIGFueSBvZiB0aGUgc3lzdGVtIGNvbmZpZyBwb2xpY2llcyB0aGV5IGFyZSBh Y3R1YWxseSB1c2luZyAmYW1wOyByZWZlcmVuY2luZykuJm5ic3A7IEluIG1hbnkgY2FzZXMsIHVz ZXJzIHdhbnQgdGhlICZxdW90O21hc3RlciZxdW90OyB2aWV3IG9mIHRoZSBjb25maWcgdG8gbGl2 ZSB1cCBpbiB0aGUgY2xpZW50L09TUw0KIHNpZGUgYW5kIGp1c3QgcHVzaCBpdCBkb3duIHRvIHRo ZSBzZXJ2ZXIgKHdpdGhvdXQgaGF2aW5nIHRoZSBzZXJ2ZXIgdG91Y2ggdGhlIGNvbnRlbnRzIG9m IHRoZSBydW5uaW5nLCBpLmUuIGEgcmVhZC1iYWNrIHNob3VsZCByZXR1cm4gaWRlbnRpY2FsbHkg d2hhdCB3YXMgc2VudCkuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1 b3RlPg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIj5BZ3JlZSB0aGF0IGEgcmVhZC1iYWNrIG9mICZsdDtydW5uaW5nJmd0OyBzaG91bGQg YWx3YXlzIHJldHVybiBpZGVudGljYWxseSB3aGF0IHdhcyBzZW50LCBidXQgdGhhdCBkb2VzbuKA mXQgbWVhbiB0aGF0IHRoZXJlIGlzbuKAmXQgc3lzdGVtIGNvbmZpZyBpbiBwbGF5LjxiPjxpPlsm Z3Q7Jmd0O0pUUzogXSBOb3Qgc3VyZSB3aGF0IHlvdSBtZWFuIGhlcmUuIElmIHRoZSBjbGllbnQg c2VudCBjb25maWcgWCwgYW5kIGluIFggdGhlcmUgaXMNCiBhIGxlYWZyZWYgdG8gc29tZSBzeXN0 ZW0gbGlzdCBlbnRyeSwgYW5kIHRoZSBzeXN0ZW0gbGlzdCBlbnRyeSB3YXNuJ3Qgc2VudCBieSB0 aGUgY2xpZW50LCB0aGVuIEknbSBkb3VidGZ1bCB0aGUgcmVhZGJhY2sgc2hvdWxkIHJldHVybiB0 aGUgc3lzdGVtIGxpc3QgZW50cnkgKGluIHdoaWNoIGNhc2UgdGhlIGNvbmZpZyB3b3VsZCBiZSBj b25zaWRlcmVkIGludmFsaWQgYnkgb2ZmbGluZSB2YWxpZGF0aW9uLCBlLmcuIGFuYWx5c2lzIG9m IHRoZSBpbnN0YW5jZQ0KIGRhdGEgYWdhaW5zdCB0aGUgWUFORyBtb2RlbCB3aXRoIHlhbmdMaW50 KS48L2k+PC9iPjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 YnI+DQo8YnI+DQo8bzpwPjwvbzpwPjwvcD4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9w OjUuMHB0O21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8YmxvY2txdW90ZSBz dHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5n OjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20iPg0K PGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPkl0IG1pZ2h0IGJlIGdvb2QgdG8g c2V0IHVwIGEgdmlydHVhbCBpbnRlcmltIG9yIGNhbGwgb2Ygc29tZSBzb3J0IHRvIGRpc2N1c3Mg dGhpcyBvbmUuIEl0IGlzIHByZXR0eSBjb21wbGV4LjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8 L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+R29vZCBpZGVhLCBidXQgSeKAmWQgaG9wZSBmaXJzdCB0 byBnZXQgcGFzdCB0aGUg4oCcZG8gd2UgdW5kZXJzdGFuZCB0aGUgcmVxdWlyZW1lbnRz4oCdIHBh cnQgb2YgdGhlIGRpc2N1c3Npb24uICZuYnNwO09mIGNvdXJzZSwgaWYgcGVvcGxlIHByZWZlciwg d2UgY291bGQgc2NoZWR1bGUgYW4gaW50ZXJpbSB0byBkaXNjdXNzIHRoZSB1c2UtY2FzZXMgYWxz by48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGJyPg0KPGJy Pg0KPG86cD48L286cD48L3A+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBwdDtt YXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O b3JtYWwiPkkgdGhpbmsgQmFsYXN6IGNhcHR1cmVkIHRoZSAyIHVzZS1jYXNlcyB2ZXJ5IHdlbGwu PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8 ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4N CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGUgdXNlLWNhc2VzIGluIGhpcyA3LzMxIG1l c3NhZ2UgYXJlIGdvb2QsIGJ1dCBuZWl0aGVyIG9mIHRoZW0gYXJlIHBhcnQgdGhpcyB3b3Jr4oCZ cyBzY29wZSwgYXMgSSB1bmRlcnN0YW5kIGl0LiAmbmJzcDtbdXBkYXRlOiBoaXMgdXNlLWNhc2Ug 4oCYQeKAmSBtYXkgYmUgaW4gc2NvcGUsIGRlcGVuZGluZyBvbiBob3cgd2Ugc2V0IHRoZSBzY29w ZV08bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxpPlsmZ3Q7Jmd0O0pU UzogXSBJJ20gY29uZnVzZWQgYWJvdXQgeW91ciBhbmQgQW5keSdzIHJlZmVyZW5jZXMgdG8gQmFs YXpzJyB1c2UgY2FzZXMuIERvIHlvdSBtZWFuIHRoaXMgZW1haWwgPzxvOnA+PC9vOnA+PC9pPjwv Yj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48YSBocmVmPSJodHRwczovL21haWxhcmNoaXZl LmlldGYub3JnL2FyY2gvbXNnL25ldG1vZC9uY2dIZk16dGVITDNjbnFDZHBEb29qdzE3MXMvIj5o dHRwczovL21haWxhcmNoaXZlLmlldGYub3JnL2FyY2gvbXNnL25ldG1vZC9uY2dIZk16dGVITDNj bnFDZHBEb29qdzE3MXMvPC9hPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PGI+PGk+SSBzZWUgcHJpbmNpcGxlcy4gQnV0IEknbSBub3Qgc3VyZSB3aGF0IHlvdSBtZWFuIGJ5 IHVzZS1jYXNlICdBJyA/PG86cD48L286cD48L2k+PC9iPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj48YnI+DQo8YnI+DQo8bzpwPjwvbzpwPjwvcD4NCjxibG9ja3F1b3RlIHN0 eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+ DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Rm9yIGltcGxlbWVudGF0aW9ucyB0aGF0IGNv bWJpbmUgdGhlIHN5c3RlbSBpbnRvICZsdDtydW5uaW5nJmd0OywgdW5kb2luZzxvOnA+PC9vOnA+ PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+dGhpcyBiZWhhdmlvciB3 b3VsZCBiZSBxdWl0ZSBkaXNydXB0aXZlIGFuZCB0aGVyZWZvcmUgbm90IGxpa2VseSB0byBiZSBk b25lLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3Rl Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9k aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JIGRvIG5vdCBzdXBwb3J0IG1lcmdpbmcgJmx0O3N5 c3RlbSZndDsgaW50byAmbHQ7cnVubmluZyZndDsgKHVubGVzcyBhcHByb3ByaWF0ZWx5LWFubm90 YXRlZCBpbiBhIOKAnHdpdGgtc3lzdGVt4oCdJm5ic3A7PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNr Ij4mbHQ7Z2V0LWNvbmZpZyZndDsmbmJzcDtyZXNwb25zZTwvc3Bhbj4pLiAmbmJzcDtJIGRvIHN1 cHBvcnQgbWVyZ2luZyAmbHQ7c3lzdGVtJmd0OyBpbnRvICZsdDtpbnRlbmRlZCZndDsuPG86cD48 L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48aT5bJmd0OyZndDtKVFM6IF0gSSdt IGFsc28gZG91YnRmdWwgYWJvdXQgbWVyZ2luZyBpbnRvIHJ1bm5pbmcgKHRoYXQgbWVhbnMgbWFn aWMgY29uZmlnIGFwcGVhcmluZyBpbiBydW5uaW5nKS4gRXZlbiB3aXRoIGFubm90YXRpb24sIGEg Y2xpZW50IHRoYXQgZG9lc27igJl0IHVuZGVyc3RhbmQgdGhlIGFubm90YXRpb24gd291bGQganVz dCBzZWUgdGhpcyBhcyBjb25maWcgYmVpbmcgYWRkZWQgdGhhdCB0aGV5IGRpZG4ndA0KIGFkZC4g PG86cD48L286cD48L2k+PC9iPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxpPkFuIGV4 cGxpY2l0IFJQQyB0byBjYXVzZSB0aGUgYWRkaXRpb24gbWlnaHQgYmUgT0ssIGJ1dCB0aGVuIGEg Y2xpZW50IHdvdWxkIGhhdmUgdG8gY29udGludWFsbHkgaXNzdWUgdGhhdCBSUEMgKG1heWJlIGFm dGVyIGV2ZXJ5IGVkaXQtY29uZmlnKS48L2k+PC9iPjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8 ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4N CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48YnI+DQo8YnI+DQo8bzpwPjwvbzpwPjwvcD4N CjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1ib3R0b206NS4wcHQi Pg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SXQgd291bGQgaGVs cCB0byBoYXZlIHNvbWUgY29tbW9uIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGNvbnRlbnRzIG9mICZs dDtzeXN0ZW0mZ3Q7LjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+TWF5YmUgc3RhcnQgd2l0aCB0aGUgd2VsbC1rbm93biAmcXVvdDtpbnRlcmZhY2Ug cHJvYmxlbSZxdW90Oy4mbmJzcDsgVGhlIHN5c3RlbSBjb25maWd1cmVzIGFsbW9zdCBlbXB0eSBw aHlzaWNhbCBpbnRlcmZhY2VzLiAmbmJzcDtUaGUgdXNlciBpcyBhbGxvd2VkIHRvIGFkZCwgbW9k aWZ5LCBhbmQgZGVsZXRlIGFsbCBkZXNjZW5kYW50cyBleGNlcHQgdGhlICZxdW90O25hbWUmcXVv dDsgYW5kICZxdW90O3R5cGUmcXVvdDsgbGVhZiwgd2hpY2ggYXJlIHNldCBieSB0aGUgc3lzdGVt LjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0K PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+ DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SSBhZ3JlZSB0aGF0IGNvbmNyZXRlIHVzZS1j YXNlcyBhcmUgbmVlZGVkLiAmbmJzcDtUaGUgbGluayBwcm92aWRlZCBhdCB0b3AgcHJvdmlkZXMg c29tZSwgYnV0IG5vdCBhbGwsIGFuZCBkZWZpbml0ZWx5IG5vdCB0aGUgc3BlY2lmaWMgb25lIHlv dSBqdXN0IG1lbnRpb25lZCAod2hpY2ggcmVnYXJkcyBpbnRvIEJhbGF6c+KAmXMgdXNlLWNhc2Ug 4oCYQeKAmSBhbmQgSmFzb27igJlzIOKAnGltbXV0YWJsZeKAnSBjb25maWcpLjxvOnA+PC9vOnA+ PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286 cD48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxicj4NCjxicj4NCjxvOnA+PC9v OnA+PC9wPg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRv bTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JbiB0 aGlzIGNhc2UgJmx0O3J1bm5pbmcmZ3Q7IHdpbGwgaGF2ZSB0aGUgL2ludGVyZmFjZXMvaW50ZXJm YWNlIG5vZGVzIGluIHRoZW0gKG9yIGVsc2UgdGhlIGNsaWVudC1hY2Nlc3NpYmxlIG5vZGVzIGNv dWxkIG5vdCBiZSByZXByZXNlbnRlZCBpbiBORVRDT05GKS4mbmJzcDsgU28gYW55IGNvbmZpZz10 cnVlIFhQYXRoIGNhbiBwb2ludCBhdCBuYW1lIG9yIHR5cGUgbGVhZnMgaW4gJmx0O3J1bm5pbmcm Z3Q7IG9yICZsdDtvcGVyYXRpb25hbCZndDsuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2 Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86 cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5B Y2suPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGJyPg0K PGJyPg0KPG86cD48L286cD48L3A+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBw dDttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiPkkgaGF2ZSBoZWFyZCB0aGF0ICZsdDtzeXN0ZW0mZ3Q7IGlzIG5lZWRlZCBiZWNh dXNlIGl0IGhhcyBub2RlcyBpbiBpdCB0aGF0IGRvIG5vdCBleGlzdDxvOnA+PC9vOnA+PC9wPg0K PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+aW4gJmx0O3J1bm5pbmcmZ3Q7IG9y ICZsdDtvcGVyYXRpb25hbCZndDssIGJ1dCBjb3VsZCBleGlzdC4gJm5ic3A7VGhlIHByZW1pc2Ug aXMgdGhhdCB0aGUgc2VydmVyIGNvdWxkIGhhdmUgY3JlYXRlZCB0aGVzZSBub2RlcyBidXQgaXQg ZGlkIG5vdCBmb3Igc29tZSByZWFzb24uJm5ic3A7IEFuZCB0aGUgY2xpZW50IGNhbiBpbnNwZWN0 IHRoZXNlIG5vZGVzIGFuZCBzb21laG93IGZvcmNlIHRoZSBzZXJ2ZXIgdG8gY2hhbmdlIHRoZSBu b2RlcyBpdCBhZGRzDQogdG8gJmx0O3J1bm5pbmcmZ3Q7LiAoU28gd2hhdCBpcyB0aGUgcmVhbCB1 c2UtY2FzZSB0aGVuPyk8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwv YmxvY2txdW90ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoaXMgaXMgd2hhdCB0 aGUgbGluayBwcm92aWRlZCBhdCB0aGUgdG9wIG9mIHRoaXMgbWVzc2FnZSByZWdhcmRzLjxvOnA+ PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJz cDs8L286cD48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxicj4NCjxicj4NCjxv OnA+PC9vOnA+PC9wPg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2lu LWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij5SZXRyaWV2aW5nIHRoZSBzeXN0ZW0tY3JlYXRlZCBub2RlcyB3aXRoIG9yaWdpbj1zeXN0ZW0g aXMgYWxyZWFkeSBzdXBwb3J0ZWQgYnkgTk1EQS48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9k aXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi PlRydWUsIGJ1dCB0aGlzIOKAnHN5c3RlbSBjb25maWfigJ0gZmVlbHMgZGlmZmVyZW50LCBvciBh dCBsZWFzdCBwYXJ0cyBvZiBpdCBkb2VzLiAmbmJzcDtXZSBtYXkgbmVlZCB0byB0ZWFzZSBhcGFy dCB0aGUg4oCcbGVhZnJlZi1hYmxlIHN5c3RlbSBub2Rlc+KAnSBmcm9tIHRoZSDigJxyZXNvdXJj ZS1pbmRlcGVuZGVudCBub2Rlc+KAnSBmcm9tIHRoZSDigJxyZXNvdXJjZS1kZXBlbmRlbnQgbm9k ZXPigJ0uPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v cm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+Sy48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRp dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8 L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K --_000_DM6PR08MB508479DC55B4D4A0E5B11AD19BFA9DM6PR08MB5084namp_-- From nobody Sat Aug 14 08:19:31 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 75B9E3A12F4 for ; Sat, 14 Aug 2021 08:19:29 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.887 X-Spam-Level: X-Spam-Status: No, score=-1.887 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Vo21g_G8OReH for ; Sat, 14 Aug 2021 08:19:22 -0700 (PDT) Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com [IPv6:2a00:1450:4864:20::12b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 42A043A12D0 for ; Sat, 14 Aug 2021 08:19:22 -0700 (PDT) Received: by mail-lf1-x12b.google.com with SMTP id t9so25752484lfc.6 for ; Sat, 14 Aug 2021 08:19:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=iStT9yIo1UTlja2qoP42MXZVtlUSV/+4YzNQgnQRDeA=; b=En3HZhFjWV9uS2FA56uSiRxVeDYLV3Xxs5DOFMvDEvb5H/3Qq0VIfH2/mBPP8sJrGr b2zTGLmz8IzlARTHcndfjL6a/vKd+Jf+fZBsrOh7wpzo3tOgyq1AcXu/t05Cq/tI/t8I LUck3EEdiHhtv3Fi7IKvfSHQnhJ/HruwZRNnEnAByoKTIdu9inqLoyYQXImJZ7i/zXa3 idw+F2s4bRV4LEimYgISlOqohjnsrZTencOSp49rY4/PzIGudywhwyNJdRTrJ3nU93zF ReV4d1YnPbVq9UkRCXhCnIilmxY7+i3TRx7zaCIkEFtUXM7swofxcFw/wLT4LQjpr4rv iioQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=iStT9yIo1UTlja2qoP42MXZVtlUSV/+4YzNQgnQRDeA=; b=qYxrS8Y5iyR1DTATal8u2QnU4oARZnp3nca5ItE7FyzJZ6qWexuHRKLHZ6pS6JC/7o +Vfv4gpnLjGZQ+Dd+83I724fo0nlq0d4HX/A/ObCtu7i+jQvaq3enWa1V977x4Af0id7 Va78799hZHQfv43vYi56BTJTefPOR3wqexF+KfwAmRJOhOC6fowR4ALEMN808GIAlNyJ 4I1vzdwpMXYsQT/nXi9nkBUbmFYljC6/joLoFXePssBwYej432I6cXTK12hS54mnn9eu soHz6Kchj0j7ONpmFpT4KLheJEh0duBoCF0qZB8NtIdQQKjru3Jll5fHof1pYEpXqlt5 YW6g== X-Gm-Message-State: AOAM531A7O/KaDPK9ZAyDPsrFtOtkqHNju4P9FcatKVOT6+20o7xfQir /GLal1xcVWLxzxCNK2gSlEvD5IO0lPtSfAuf6y4pQw== X-Google-Smtp-Source: ABdhPJyfi/UEyn0OayYFxxQd3vxaG7NvqoC3P5+l4YjtKsgkWINlZoOXQBGHUNBTufdmViAQPtAVS4/zE93XJGVW+BQ= X-Received: by 2002:a05:6512:33cc:: with SMTP id d12mr5169807lfg.577.1628954354800; Sat, 14 Aug 2021 08:19:14 -0700 (PDT) MIME-Version: 1.0 References: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@email.amazonses.com> <20210804133956.p73si5f63t4esmcj@anna.jacobs.jacobs-university.de> In-Reply-To: From: Andy Bierman Date: Sat, 14 Aug 2021 08:19:03 -0700 Message-ID: To: "Sterne, Jason (Nokia - CA/Ottawa)" Cc: Juergen Schoenwaelder , Kent Watsen , NetMod WG Content-Type: multipart/alternative; boundary="000000000000ac727205c9867d2d" Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Aug 2021 15:19:30 -0000 --000000000000ac727205c9867d2d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Aug 13, 2021 at 2:02 PM Sterne, Jason (Nokia - CA/Ottawa) < jason.sterne@nokia.com> wrote: > Hi Andy, > > Pls see inline. > > Jason > > > > *From:* Andy Bierman > *Sent:* Monday, August 9, 2021 6:23 PM > *To:* Sterne, Jason (Nokia - CA/Ottawa) > *Cc:* Juergen Schoenwaelder ; Kent > Watsen ; NetMod WG > *Subject:* Re: [netmod] system configuration sync mechanism > > > > > > > > On Mon, Aug 9, 2021 at 2:51 PM Sterne, Jason (Nokia - CA/Ottawa) < > jason.sterne@nokia.com> wrote: > > Hi guys, > > > > I'm late to the game on this thread but I did read through the entire > thing (whew - can't promise I absorbed every nuance though). I am familia= r > with this issue. I've been dealing with it from the server implementation > side (some clients **do** complain if there are references to missing > "system config" list entries). > > > > One of the pretty fundamental issues IMO is whether we want good ol' > standard to always be valid (including for an offline client or > tool to be able to validate instance data retrieved from a server against > the YANG models). Even without this "system config" topic, we already hav= e > a looming problem with config templates & expansion. Servers with YANG > models that document a lot of constraints (e.g. leafrefs, mandatory > statements, etc) are more likely to hit this issue of an invalid running > config (offline). > > > > I'm doubtful that it is easy for a client to know how templates are > expanded for all given servers. Unless that expansion is fully standardiz= ed > (which would be challenging given multiple different shipping > implementations in the industry), there can be some subtle corner cases a= nd > it can be complex (multiple levels of template application, exclusion > rules, etc). > > > > I agree there can be dynamically added system config (e.g. create a new > qos policy, and some queue list entries are automatically created inside > that policy). > > > > Note that config added by the system could be deletable or non-deletable. > For deletable items there were some previous discussions a few years ago > that those list entries could be simply a default config that is populate= d > if the startup datastore is empty at boot time. > > > > The system config list entries could also have leafs that are modifiable > and leafs that are immutable. For the modifiable objects I think this is > basically the system merging the explicit config with the system config > (with the explicit taking precedence). > > > > Perhaps a lot of this system config is a legacy hold over from > human-driven CLIs. For machine interfaces maybe it's reasonable to have > clients explicitly define their config **if** they need offline > validation of to succeed (i.e. allow clients to explicitly > configure any of the system config policies they are actually using & > referencing). In many cases, users want the "master" view of the config = to > live up in the client/OSS side and just push it down to the server (witho= ut > having the server touch the contents of the running, i.e. a read-back > should return identically what was sent). > > > > It might be good to set up a virtual interim or call of some sort to > discuss this one. It is pretty complex. > > > > > > I think Balasz captured the 2 use-cases very well. > > *[>>JTS: ] I looked back at Balasz' email and I don't see clear use cases= . > Do you mean his P1, etc principles ?* > > > It was a different email I think proposing extensions instead of a datastore. I actually do not really understand the 4 principles he mentioned: *P1) =E2=80=9CThere is a need to validate configuration data against data c= reated by the system.=E2=80=9D* *P2) We want the running datastore to contain exactly what the operator has written there* *P3) the running/intended configuration MAY become invalid if the system-data changes.* *P4) rfc8342#section-5.3.4 MUST always be valid* What does P1 really mean? Provide a complete example using XML represented datastores (not proprietary CLI) P2) Why? What problem does this solve? What if the system creates an interface list? How does the client add any child nodes if this interface is not allowed to be represented in ? IMO P2 does not even make any sense. The "origin" attribute identifies the nodes that came from the system. This is not visible in only because of CLRs in the RFC. It is visible in , P3) not sure what this means. This is not what RFC 8342 says about P4) I agree with-origin must be supported (but it is an optional feature) It is not possible for to always be complete and correct, as discussed in NMDA, 5.3. The YANG module in this proposal simply adds an identity for a new datastore. There are no examples and the guidelines in NMDA, Appendix A are not followed. The reason was left out of NMDA seems to be because the system is completely proprietary and not constrained in any way wrt/ how config and operational data nodes are instantiated. > For implementations that combine the system into , undoing > > this behavior would be quite disruptive and therefore not likely to be > done. > > > > *[>>JTS: ] I'm not necessarily advocating for the existence of a > DS, but there are various implementations for this problem space and some > don't put these system objects (list entries) into . I'm doubtfu= l > about automatically putting system config into . That means the > client no longer really owns/controls . Readback won't return wh= at > was sent. The definitive would then have to sit on the server > (i.e. can't have the client as the definitive view/ownership of running).= * > > > > It would help to have some common understanding of the contents of > . > > Maybe start with the well-known "interface problem". The system > configures almost empty physical interfaces. > > The user is allowed to add, modify, and delete all descendants except the > "name" and "type" leaf, > > which are set by the system. > > > > In this case will have the /interfaces/interface nodes in them > (or else the client-accessible > > nodes could not be represented in NETCONF). So any config=3Dtrue XPath c= an > point at name or type leafs > > in or . > > *[>>JTS: ] An alternative is that these interfaces are *not* added to > unless a client explicitly adds them. The server could > potentially consider leafrefs to them valid even if they aren't explicitl= y > added. But if a user has a workflow that does offline validation, then th= ey > could explicitly add the interfaces into * > I still have no idea what problem this solves. Maybe it is to make NMDA as hard to adopt as possible, by being as different from non-NMDA as possible? > > > I have heard that is needed because it has nodes in it that do > not exist > > in or , but could exist. > > > > The premise is that the server could have created these nodes > > but it did not for some reason. And the client can inspect these nodes > and somehow > > force the server to change the nodes it adds to . (So what is th= e > real use-case then?) > > > > Retrieving the system-created nodes with origin=3Dsystem is already > supported by NMDA. > > *[>>JTS: ] I don't think reading these nodes from addresses > the issue. Clients do a from (or maybe ) > and want to be able to validate that config against the YANG model (witho= ut > having to do additional reads from operational).* > > > Why does the client need to know the origin of the data in in order to validate it? (Again, origin is only restricted to because the RFC forbids anything else). > > > > > > > > > > > Jason > > > > > > Andy > > > > Andy > > > > > *From:* netmod *On Behalf Of *Andy Bierman > *Sent:* Wednesday, August 4, 2021 9:59 AM > *To:* Juergen Schoenwaelder ; Kent > Watsen ; Andy Bierman ; NetMod WG < > netmod@ietf.org> > *Subject:* Re: [netmod] system configuration sync mechanism > > > > > > > > On Wed, Aug 4, 2021 at 6:39 AM J=C3=BCrgen Sch=C3=B6nw=C3=A4lder < > j.schoenwaelder@jacobs-university.de> wrote: > > The figure in RFC 8342 section 5 documents what was agreed upon > before. System configuration flows into but not upwards > into . Over the years, we discussed several corner cases > (including things like configuring a new user and the system > automatically assigns an unused uid, which afterwards needs to be kept > stable). While there are for sure tricky corner cases, I am not > convinced that the model defined in RFC 8342 for the general cases is > wrong and that merging a new system datastore into is the > right approach. If people want to change the model documented in RFC > 8342, then they should make an explicit statement about this and > provide strong reasons that the model is flawed or incomplete. > > Note that the model does allow having a system client merging config > into (ideally controlled by an ACM so that such a client can > be turned off if it leads to surprises). > > > > > > This is a solved problem in proprietary ways. It is simple to treat > system config > > as an access control issue. > > > > I am quite concerned that NMDA is getting extended in ways that lead to > > confusion and poor interoperability. Adding a new datastore is very > serious. > > IMO ANY new datastore (even factory default) should be standardized in > > a new version of NMDA (replacing RFC 8342). > > > > A datastore has a lot of baggage > > - YANG library > > - YANG XPath evaluation > > - subtree and XPath filtered retrieval > > - usage in RPC operations (ds:datastore data type parameter) > > > > Every time a datastore is added, all the existing RPC operations that use > > datastores need to be clarified wrt/ support for the new datastore. > > (Of course this is never done, leading to lots of interoperability issues= ) > > > > I am quite confused by the XPath discussions because XPath can only > > access existing nodes (i.e. the "accessible tree") > > https://datatracker.ietf.org/doc/html/rfc7950#section-6.4.1 > > > > So what does it mean for the system datastore to contain possible values > that > > cannot be represented in ? The accessible tree cannot includ= e > > these values, so XPath-based validation cannot use them. > > > > > > > /js > > > > > > Andy > > > > > > On Wed, Aug 04, 2021 at 12:34:45PM +0000, Kent Watsen wrote: > > > > I am confused by the confusion ;) > > > > You all know that JUNOS implemented this concept before YANG was even a > thing, right? > > > > Admittedly, it=E2=80=99s not a =E2=80=9Cdatastore=E2=80=9C, but flexing= the NMDA is where we can > do better. > > > > A =E2=80=9Cwith-system=E2=80=9D mechanism could also work. The only do= wnside is the > inability for a client to get only the system configuration, without the > rest of . > > > > Please stop stating/suggesting =E2=80=9Cconfig true=E2=80=9D nodes are = referencing > =E2=80=9Cconfig false=E2=80=9D nodes, or that config is referencing oper= ational state. > There is no intention to break either of these tenants here. > > > > I think that some folks just joined the conversation and may have misse= d > out when we covered all this before. > > > > The draft needs to be updated to more clearly identify the goals. > > > > K. > > > > > > > > _______________________________________________ > > netmod mailing list > > netmod@ietf.org > > https://www.ietf.org/mailman/listinfo/netmod > > -- > Juergen Schoenwaelder Jacobs University Bremen gGmbH > Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany > Fax: +49 421 200 3103 > > --000000000000ac727205c9867d2d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Fri, Aug 13, 2021 at 2:02 PM Stern= e, Jason (Nokia - CA/Ottawa) <= jason.sterne@nokia.com> wrote:

Hi Andy,

Pls see inline.

Jason

=C2=A0

From: Andy Bierman <andy@yumaworks.com>
Sent: Monday, August 9, 2021 6:23 PM
To: Sterne, Jason (Nokia - CA/Ottawa) <jason.sterne@nokia.com>
Cc: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>; Kent Watsen <kent@watsen.net>; NetMod WG <netmod@ietf.org>
Subject: Re: [netmod] system configuration sync mechanism<= /u>

=C2=A0

=C2=A0

=C2=A0

On Mon, Aug 9, 2021 at 2:51 PM Sterne, Jason (Nokia = - CA/Ottawa) <jason.sterne@nokia.com> wrote:

Hi guys,

=C2=A0

I'm late to the game on this thread but I did re= ad through the entire thing (whew - can't promise I absorbed every nuan= ce though). I am familiar with this issue. I've been dealing with it from the server implementation side (some clients *do* comp= lain if there are references to missing "system config" list entr= ies).

=C2=A0

One of the pretty fundamental issues IMO is whether = we want good ol' standard <running> to always be valid (including= for an offline client or tool to be able to validate instance data retrieved from a server against the YANG models). Even without this &= quot;system config" topic, we already have a looming problem with conf= ig templates & expansion.=C2=A0 Servers with YANG models that document = a lot of constraints (e.g. leafrefs, mandatory statements, etc) are more likely to hit this issue of an invalid running config (offli= ne).

=C2=A0

I'm doubtful that it is easy for a client to kno= w how templates are expanded for all given servers. Unless that expansion i= s fully standardized (which would be challenging given multiple different shipping implementations in the industry), there can be= some subtle corner cases and it can be complex (multiple levels of templat= e application, exclusion rules, etc).

=C2=A0

I agree there can be dynamically added system config= (e.g. create a new qos policy, and some queue list entries are automatical= ly created inside that policy).

=C2=A0

Note that config added by the system could be deleta= ble or non-deletable. For deletable items there were some previous discussi= ons a few years ago that those list entries could be simply a default config that is populated if the startup datastore is e= mpty at boot time.

=C2=A0

The system config list entries could also have leafs= that are modifiable and leafs that are immutable. For the modifiable objec= ts I think this is basically the system merging the explicit config with the system config (with the explicit taking precedenc= e).

=C2=A0

Perhaps a lot of this system config is a legacy hold= over from human-driven CLIs. For machine interfaces maybe it's reasona= ble to have clients explicitly define their config *if* they need offline validation of <running> to succeed (i.e. allow cli= ents to explicitly configure any of the system config policies they are act= ually using & referencing).=C2=A0 In many cases, users want the "m= aster" view of the config to live up in the client/OSS side and just push it down to the server (without having the server touch = the contents of the running, i.e. a read-back should return identically wha= t was sent).

=C2=A0

It might be good to set up a virtual interim or call= of some sort to discuss this one. It is pretty complex.

=C2=A0

=C2=A0

I think Balasz captured the 2 use-cases very well.

[>>JTS: ] I looked back at Balasz' e= mail and I don't see clear use cases. Do you mean his P1, etc principle= s ?

=C2=A0




It was a di= fferent email I think proposing extensions instead of a datastore.

I actually do not really understand the 4 principles he me= ntioned:

P1) =E2=80=9CThere is a nee= d to validate configuration data against data created by the system.=E2=80= =9D

= P2) We want the running datastore to contain exactly what the operator has = written there

P3) the running/intended configuration MAY become invalid = if the system-data changes.

= P4) rfc8342#section-5.3.4 MUST always be val= id


What does P1 really mean?
Provide a complete example using XML represented datastores (not pr= oprietary CLI)

P2) Why? What problem does this sol= ve? What if the system creates an interface list?
How does the cl= ient add any child nodes if this interface is not allowed to be represented=
in <running>?=C2=A0 IMO P2 does not even=C2=A0make any sen= se.=C2=A0=C2=A0

The "origin" attrib= ute identifies the nodes that came from the system.
This is not v= isible in <running> only because of=C2=A0CLRs in the RFC.
I= t is visible in <operational>,

P3) not= sure what this means. This is not what RFC 8342 says about <intended>= ;

P4) I agree with-origin must be supported (but i= t is an optional feature)
It is not possible for <operational&= gt; to always be complete and correct,
as discussed in NMDA, 5.3.=

The YANG module in this proposal simply adds an i= dentity for a new datastore.
There are no examples and the guidel= ines in NMDA, Appendix A are not followed.

The rea= son <system> was left out of NMDA seems to be because the system is
completely proprietary and not constrained in any way wrt/ how con= fig and operational
data nodes are instantiated.


=C2=A0

For implementations that combine the system into <= ;running>, undoing

this behavior would be quite disruptive and therefor= e not likely to be done.

=C2=A0

[>>JTS: ] I'm not necessarily advoca= ting for the existence of a <system> DS, but there are various implem= entations for this problem space and some don't put these system object= s (list entries) into <running>. I'm doubtful about automatically putting system config into <running>. That means the client no longe= r really owns/controls <running>. Readback won't return what was = sent. The definitive <running> would then have to sit on the server (= i.e. can't have the client as the definitive view/ownership of running).

=C2=A0

It would help to have some common understanding of t= he contents of <system>.

Maybe start with the well-known "interface prob= lem".=C2=A0 The system configures almost empty physical interfaces.=

The user is allowed to add, modify, and delete all d= escendants except the "name" and "type" leaf,=

which are set by the system.

=C2=A0

In this case <running> will have the /interfac= es/interface nodes in them (or else the client-accessible

nodes could not be represented in NETCONF).=C2=A0 So= any config=3Dtrue XPath can point at name or type leafs

in <running> or <operational>.=

[>>JTS: ] An alternative is that these i= nterfaces are *not* added to <running> unless a client explicitly add= s them. The server could potentially consider leafrefs to them valid even i= f they aren't explicitly added. But if a user has a workflow that does offline validation, then they could explicitly ad= d the interfaces into <running>



I still have no i= dea what problem this solves.
Maybe it is to make NMDA as hard to= adopt as possible,
by being as different from non-NMDA as possib= le?

=C2=A0

=C2=A0

I have heard that <system> is needed because i= t has nodes in it that do not exist

in <running> or <operational>, but could= exist.=C2=A0=C2=A0

=C2=A0

The premise is that the server could have created th= ese nodes

but it did not for some reason.=C2=A0 And the client= can inspect these nodes and somehow

force the server to change the nodes it adds to <= running>. (So what is the real use-case then?)

=C2=A0

Retrieving the system-created nodes with origin=3Dsy= stem is already supported by NMDA.

[>>JTS: ] I don't think reading thes= e nodes from <operational> addresses the issue. Clients do a <get-= config> from <running> (or maybe <intended>) and want to be = able to validate that config against the YANG model (without having to do additional reads from operational).

=C2=A0




Why does th= e client need to know the origin of the data in <intended>
= in order to validate it?=C2=A0 (Again, origin is only restricted to <ope= rational> because
the RFC forbids anything else).
=C2=A0
=

=C2=A0

=C2=A0

=C2=A0

=C2=A0

=C2=A0

Jason

=C2=A0

=C2=A0

Andy

=C2=A0





<= /div>
Andy

=C2=A0
<= div>

=C2=A0

=C2=A0

From: netmod <netmod-bounces@ietf.org> On Behalf Of Andy Bierman
Sent: Wednesday, August 4, 2021 9:59 AM
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>; Kent Watsen <kent@watsen.net>; Andy Bierman <andy@yumaworks.com>; NetMod WG <netmod@= ietf.org>
Subject: Re: [netmod] system configuration sync mechanism
<= /u>

=C2=A0

=C2=A0

=C2=A0

On Wed, Aug 4, 2021 at 6:39 AM J=C3=BCrgen Sch=C3=B6= nw=C3=A4lder <j.schoenwaelder@jacobs-university.de> wrote:<= u>

The figure in RFC 8342 section 5 documents what was = agreed upon
before. System configuration flows into <operational> but not upwards=
into <running>. Over the years, we discussed several corner cases
(including things like configuring a new user and the system
automatically assigns an unused uid, which afterwards needs to be kept
stable). While there are for sure tricky corner cases, I am not
convinced that the model defined in RFC 8342 for the general cases is
wrong and that merging a new system datastore into <running> is the right approach. If people want to change the model documented in RFC
8342, then they should make an explicit statement about this and
provide strong reasons that the model is flawed or incomplete.

Note that the model does allow having a system client merging config
into <running> (ideally controlled by an ACM so that such a client ca= n
be turned off if it leads to surprises).

=C2=A0

=C2=A0

This is a solved problem in proprietary ways.=C2=A0 = It is simple to treat system config

as an access control issue.=C2=A0

=C2=A0

I am quite concerned that NMDA is getting extended i= n ways that lead to

confusion and poor interoperability.=C2=A0 Adding a = new datastore is very serious.

IMO ANY new datastore (even factory default) should = be standardized in

a new version of NMDA (replacing RFC 8342).

=C2=A0

A datastore has a lot of baggage

=C2=A0 =C2=A0- YANG library

=C2=A0 =C2=A0- YANG XPath evaluation

=C2=A0 =C2=A0- subtree and XPath filtered retrieval<= u>

=C2=A0 =C2=A0- usage in RPC operations (ds:datastore= data type parameter)

=C2=A0

Every time a datastore is added, all the existing RP= C operations that use

datastores need to be clarified wrt/ support for the= new datastore.

(Of course this is never done, leading to lots of in= teroperability issues)

=C2=A0

I am quite confused by the XPath discussions because= XPath can only

access existing nodes (i.e. the "accessible tre= e")

=C2=A0

So what does it mean for the system datastore to con= tain possible values that

cannot be represented in <operational>? The ac= cessible tree cannot include

these values, so XPath-based validation cannot use t= hem.

=C2=A0

=C2=A0


/js

=C2=A0

=C2=A0

Andy

=C2=A0

=C2=A0

On Wed, Aug 04, 2021 at 12:34:45PM +0000, Kent Watse= n wrote:
>
> I am confused by the confusion=C2=A0 ;)
>
> You all know that JUNOS implemented this concept before YANG was even = a thing, right?=C2=A0
>
> Admittedly, it=E2=80=99s not a =E2=80=9Cdatastore=E2=80=9C, but flexin= g the NMDA is where we can do better.
>
> A =E2=80=9Cwith-system=E2=80=9D mechanism could also work.=C2=A0 The o= nly downside is the inability for a client to get only the system configura= tion, without the rest of <running>.=C2=A0 =C2=A0
>
> Please stop stating/suggesting =E2=80=9Cconfig true=E2=80=9D nodes are= referencing =E2=80=9Cconfig false=E2=80=9D nodes,=C2=A0 or that config is = referencing operational state.=C2=A0 There is no intention to break either = of these tenants here.=C2=A0
>
> I think that some folks just joined the conversation and may have miss= ed out when we covered all this before.=C2=A0
>
> The draft needs to be updated to more clearly identify the goals.
>
> K.
>
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
>
https://www.ietf.org/mailman/listinfo/netmod

--
Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs Univer= sity Bremen gGmbH
Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1 | 28= 759 Bremen | Germany
Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<https://www.jac= obs-university.de/>

--000000000000ac727205c9867d2d-- From nobody Sun Aug 15 12:49:28 2021 Return-Path: <0100017b4b5c7621-4fc7fabb-b0f2-4169-a499-12ed91ec1241-000000@amazonses.watsen.net> X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6E1163A21A8 for ; Sun, 15 Aug 2021 12:49:26 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.896 X-Spam-Level: X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6HFYaSUmDsxZ for ; Sun, 15 Aug 2021 12:49:21 -0700 (PDT) Received: from a8-33.smtp-out.amazonses.com (a8-33.smtp-out.amazonses.com [54.240.8.33]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C2AA83A21E0 for ; Sun, 15 Aug 2021 12:49:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1629056956; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=sHTg0r5eVIokaf5i6EHAAIi+/RR+4nFr1lY8MlpFiAo=; b=hDz47Ff9+yQ9uSumjR7M9r8hjun31ByanPVexfPzJQEs4cGSILt8vgoVOYDh2zr/ JM2pRW6MLE9+c5FdKPr++YdAz8n+vnm/9befmTzIlZlBSRY35XZa3X8gN1dOIvbpc01 CYeVokgs87U0ZcloAsJgGRKXG5pk6sINHdjx/kiw= From: Kent Watsen Message-ID: <0100017b4b5c7621-4fc7fabb-b0f2-4169-a499-12ed91ec1241-000000@email.amazonses.com> Content-Type: multipart/alternative; boundary="Apple-Mail=_1AB3E6DD-4EB4-4237-BE0F-7AF5E2D06892" Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\)) Date: Sun, 15 Aug 2021 19:49:16 +0000 In-Reply-To: Cc: "netmod@ietf.org" To: "Sterne, Jason (Nokia - CA/Ottawa)" , Andy Bierman References: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@email.amazonses.com> <20210804133956.p73si5f63t4esmcj@anna.jacobs.jacobs-university.de> X-Mailer: Apple Mail (2.3654.100.0.2.22) Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES X-SES-Outgoing: 2021.08.15-54.240.8.33 Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Aug 2021 19:49:27 -0000 --Apple-Mail=_1AB3E6DD-4EB4-4237-BE0F-7AF5E2D06892 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > It was a different email I think proposing extensions instead of a = datastore. This email: = https://mailarchive.ietf.org/arch/msg/netmod/SHRPSxHIDxsfF2t0GXXiyFHOnGw/ = K. --Apple-Mail=_1AB3E6DD-4EB4-4237-BE0F-7AF5E2D06892 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii
It = was a different email I think proposing extensions instead of a = datastore.


K.

= --Apple-Mail=_1AB3E6DD-4EB4-4237-BE0F-7AF5E2D06892-- From nobody Mon Aug 16 12:21:02 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BF5E03A088F for ; Mon, 16 Aug 2021 12:21:00 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.887 X-Spam-Level: X-Spam-Status: No, score=-1.887 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id L0hLr5_jX1sz for ; Mon, 16 Aug 2021 12:20:55 -0700 (PDT) Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com [IPv6:2a00:1450:4864:20::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CA0603A0898 for ; Mon, 16 Aug 2021 12:20:54 -0700 (PDT) Received: by mail-lj1-x22e.google.com with SMTP id y7so28922278ljp.3 for ; Mon, 16 Aug 2021 12:20:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=vZobQo4riFiEnR9y7MU/7wvrLYl/ONOfUxABA3UySXI=; b=bmuZV/STrD+ZEp7lq1xf83ozXpROq+WNgQwzwqzoGprxtVzsIRkXQVOcgNnx5OADVP V9bUTm6lRZsafTnuGFrlofho921ktdFkMuLM5DlVt8QxTyS8cwIdrUXyCexQPwsA0m5c M838ukGrH4xxCa50/1f45JJT5a2iqptOuO836JT/JgAMKqv1AnJxzytUU92Mfvv3rCNr yJFTPCyw2ulM8ZD8dC9zlKIm+Agb9M8P0K/Se2twpgJ9O2v6sLYDMv2wDLfJKyaaL/Ya /9J2mIbMfkA94wvJu88I5bVDu+5/3AmlCOxeAPc2xS66usaRihuHn8bRr0BvuXg4lEg6 YB8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=vZobQo4riFiEnR9y7MU/7wvrLYl/ONOfUxABA3UySXI=; b=GOmA5gDu3q8Pkr5U+BB/e3Dz76KLcdFC6LTZ1nfoloVjTslVLpFHmCN6vx+uExP3Kh f0CYG4+HT/p8+eS46sP+1zjt0oQdSzgh39KG59KI2x4iHv9yn8Crua9nw9gOsHCR3m1H lEa374RQIPQzL2ZTOcrY5cNA2SNYTdY7peruHpG8j+U1TaO7vYVOOt0/AC3415PG4zaZ ObTnOvzeD8CZS6mrx1Ya2ksn0Rd+gtRc3SjqYeTvzDlCzO7u7yALT7QPY/UQqBu/g3mC cBuooyFXT6+Uchnv6jAfBjbG/PudKbg9kwhXRTSx3bQTzSxzmU0DBWuUpRv/UBDXMza6 WTjw== X-Gm-Message-State: AOAM5332v3MKD8Qd8JtofJByv5PN2OfbhGvN43n+OI7Psx+9VZsS7QVh V5FnTx6I1KbgPcH01Td46WWE4DiHoHbUb3G9FoML1NBTMoARnotE X-Google-Smtp-Source: ABdhPJw+MN9iF3RRrV/3kFwgVf7+Jvfpw5MwZY6v0NvVSuCxLDyIzF1PAxXo+WKVhQema7YoHzXd2Za62QpX+tDzPGY= X-Received: by 2002:a2e:954b:: with SMTP id t11mr139732ljh.105.1629141652092; Mon, 16 Aug 2021 12:20:52 -0700 (PDT) MIME-Version: 1.0 References: <0100017b1128b30f-fe4c9258-3392-476a-ae21-604d2a80f523-000000@email.amazonses.com> <20210804133956.p73si5f63t4esmcj@anna.jacobs.jacobs-university.de> <0100017b4b5c7621-4fc7fabb-b0f2-4169-a499-12ed91ec1241-000000@email.amazonses.com> In-Reply-To: <0100017b4b5c7621-4fc7fabb-b0f2-4169-a499-12ed91ec1241-000000@email.amazonses.com> From: Andy Bierman Date: Mon, 16 Aug 2021 12:20:41 -0700 Message-ID: To: Kent Watsen Cc: "Sterne, Jason (Nokia - CA/Ottawa)" , "netmod@ietf.org" Content-Type: multipart/alternative; boundary="000000000000764b0305c9b219f0" Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Aug 2021 19:21:01 -0000 --000000000000764b0305c9b219f0 Content-Type: text/plain; charset="UTF-8" On Sun, Aug 15, 2021 at 12:49 PM Kent Watsen wrote: > > It was a different email I think proposing extensions instead of a > datastore. > > > This email: > https://mailarchive.ietf.org/arch/msg/netmod/SHRPSxHIDxsfF2t0GXXiyFHOnGw/ > > What is the purpose of system-configuration Use-case A) The system sets some values because it knows what they shall be. In this case the client must not be allowed to modify these values. We want to check configuration data against these values. E.g., AcmeHomeRouter has 5 interfaces called eth0, eth1, eth,2, eth3 and WAN. The client should not try to add or remove interfaces to this set. Use-case B) The system provides initial values for something that can be configured in many ways. In this case the client is free to modify the system-defined values. E.g., an initial set of NACM rules is provided. In this case any constraints based on the system data are very weak, as the user can change the system-data itself. It is possible to support these use-cases with access-control conventions. I re-read RFC 8808 and 8342 again. IMO this draft overlaps the factory-default datastore. Unfortunately, RFC 8808 does not document NMDA, Appendix A3 details https://datatracker.ietf.org/doc/html/rfc8342#appendix-A.3 It does not say if datastore feeds into or into . It is not clear how would interact with other datastores. It is not clear why it is even needed since contains only system settings. K. > > Andy --000000000000764b0305c9b219f0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable




What is the purpose of syste=
m-configuration

Use-case A)    The system sets some values because it knows what they shall
be. In this case the client must not be allowed to modify these values. We
want to check configuration data against these values.  E.g., AcmeHomeRoute=
r
has 5 interfaces called eth0, eth1, eth,2, eth3 and WAN. The client should
not try to add or remove interfaces to this set.

Use-case B)    The system provides initial values for something that can be
configured in many ways. In this case the client is free to modify the
system-defined values. E.g., an initial set of NACM rules is provided. In
this case any constraints based on the system data are very weak, as the
user can change the system-data itself.
It is possible to support these use-cases with access-control convent= ions.

I re-read RFC 8808 and 8342 again.
IMO this draft o= verlaps the factory-default datastore.
Unfortunately, RFC 8808 do= es not document NMDA, Appendix A3 details

It doe= s not say if <factory-default> datastore feeds into <running> o= r into <intended>.
It is not clear how <system> would= interact with other datastores.
It is not clear why it is even n= eeded since <factory-default> contains only system settings.


K.


Andy
=C2=A0
--000000000000764b0305c9b219f0-- From nobody Mon Aug 16 14:59:55 2021 Return-Path: <0100017b50fa4b16-642498ba-3076-485e-9ed2-992aca11e649-000000@amazonses.watsen.net> X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B3F643A1A6D for ; Mon, 16 Aug 2021 14:59:52 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.897 X-Spam-Level: X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x-ljhpVjQrgZ for ; Mon, 16 Aug 2021 14:59:47 -0700 (PDT) Received: from a48-92.smtp-out.amazonses.com (a48-92.smtp-out.amazonses.com [54.240.48.92]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A16EE3A1A75 for ; Mon, 16 Aug 2021 14:59:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1629151185; h=From:Content-Type:Content-Transfer-Encoding:Mime-Version:Subject:Message-Id:Date:To:Feedback-ID; bh=OJ9o/u+q/Wnz9WXs/HSFW61mFyouvLlnT6y6X1X3CEM=; b=STF8R3Cr1WdSsp2htiJEFwP0qwUpYx2P4rZsp7bB1bg3ZZMgf37kQ2Dos7pb8vEV FmbpBA27C1aK0RaigBV5iBn/4hvH+qVnAfBqMmLMsFoXO/0xcfX7Vi/qRVoooM8QPKV S78dpsH8TuyZqdHnulsczA9KEiKQmF75HWwaPCp8= From: Kent Watsen Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\)) Message-ID: <0100017b50fa4b16-642498ba-3076-485e-9ed2-992aca11e649-000000@email.amazonses.com> Date: Mon, 16 Aug 2021 21:59:45 +0000 To: "netmod@ietf.org" X-Mailer: Apple Mail (2.3654.100.0.2.22) Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES X-SES-Outgoing: 2021.08.16-54.240.48.92 Archived-At: Subject: [netmod] Draft 111 minutes posted X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Aug 2021 21:59:53 -0000 NETMOD WG, The draft minutes from the 111 session have been posted: = https://datatracker.ietf.org/meeting/111/materials/minutes-111-netmod-00 Please take a moment to ensure that your valuable comments have been = captured. Kent and Lou (and Joel) From nobody Mon Aug 16 15:17:26 2021 Return-Path: <0100017b510a6614-1c248a24-a5e0-4c0b-ad65-0ab44e150273-000000@amazonses.watsen.net> X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 43A553A1CED; Mon, 16 Aug 2021 15:17:25 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.898 X-Spam-Level: X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uADR3SPec7yR; Mon, 16 Aug 2021 15:17:22 -0700 (PDT) Received: from a48-92.smtp-out.amazonses.com (a48-92.smtp-out.amazonses.com [54.240.48.92]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4F45D3A1A70; Mon, 16 Aug 2021 15:17:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1629152241; h=From:Content-Type:Content-Transfer-Encoding:Mime-Version:Subject:Message-Id:Date:Cc:To:Feedback-ID; bh=CZM27BGHD9FWbId4nDKTWyVA1R1GzfKhyxlujuBy+es=; b=bWwDndPbO78rgJeR6DRc0XEvYvECpEi+R4MnE7FSPRRHhENlrvSWBnZHCT9iw8Z5 loCsy7UxgVlnZNdvcIJQBCFGHTf3mRGElDWz3/eaej7R3+7Qbddz08yyRoq/6VDkZYG x4F6W7ji3YvMlvikC+RvIsnFp5VE4/PX0dq9J37E= From: Kent Watsen Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\)) Message-ID: <0100017b510a6614-1c248a24-a5e0-4c0b-ad65-0ab44e150273-000000@email.amazonses.com> Date: Mon, 16 Aug 2021 22:17:21 +0000 Cc: "netmod@ietf.org" To: draft-ma-netconf-with-system@ietf.org X-Mailer: Apple Mail (2.3654.100.0.2.22) Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES X-SES-Outgoing: 2021.08.16-54.240.48.92 Archived-At: Subject: [netmod] virtual interim prep X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Aug 2021 22:17:25 -0000 WG and Authors of draft-ma-netconf-with-system, Per the 111 session, the chairs discussed having a virtual interim. If = the WG agrees, we=E2=80=99d like to schedule one for sometime in = October.=20 Before scheduling, we feel that use-cases should be nailed down better, = taking into account all the WG comments so far (thank you Andy, Balazs, = Jason, Frank, Juergen, and Qiufang). The use-cases could go into a = draft update, but submitted as draft-ma-netmod-with-system-00. If an = update is submitted, it might be good to leave out solution details, so = as to not dilute focus from the use-case analysis. Makes sense? Kent and Lou (and Joel) From nobody Mon Aug 16 18:14:15 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4FF383A0BD6 for ; Mon, 16 Aug 2021 18:14:13 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.896 X-Spam-Level: X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9MmdfbOsIQz6 for ; Mon, 16 Aug 2021 18:14:07 -0700 (PDT) Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 747423A0AE2 for ; Mon, 16 Aug 2021 18:14:07 -0700 (PDT) Received: from fraeml710-chm.china.huawei.com (unknown [172.18.147.201]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4GpY1d01pwz6FGpB for ; Tue, 17 Aug 2021 09:13:09 +0800 (CST) Received: from dggeml701-chm.china.huawei.com (10.3.17.134) by fraeml710-chm.china.huawei.com (10.206.15.59) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.8; Tue, 17 Aug 2021 03:14:01 +0200 Received: from dggeml753-chm.china.huawei.com (10.1.199.152) by dggeml701-chm.china.huawei.com (10.3.17.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Tue, 17 Aug 2021 09:13:59 +0800 Received: from dggeml753-chm.china.huawei.com ([10.1.199.152]) by dggeml753-chm.china.huawei.com ([10.1.199.152]) with mapi id 15.01.2176.012; Tue, 17 Aug 2021 09:13:58 +0800 From: Qin Wu To: Andy Bierman , Kent Watsen CC: "netmod@ietf.org" Thread-Topic: [netmod] system configuration sync mechanism Thread-Index: AdeS/smIORNkTLFjSz+tOLhWazMEpw== Date: Tue, 17 Aug 2021 01:13:58 +0000 Message-ID: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.136.123.117] Content-Type: multipart/alternative; boundary="_000_ad7ec21e0d3d477b91bebdfdeec01303huaweicom_" MIME-Version: 1.0 X-CFilter-Loop: Reflected Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Aug 2021 01:14:14 -0000 --_000_ad7ec21e0d3d477b91bebdfdeec01303huaweicom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIEFuZHk6DQpBIGZldyBjbGFyaWZpY2F0aW9ucyBiZWxvdy4NCj7lj5Hku7bkuro6IG5ldG1v ZCBbbWFpbHRvOm5ldG1vZC1ib3VuY2VzQGlldGYub3JnXSDku6PooaggQW5keSBCaWVybWFuDQo+ 5Y+R6YCB5pe26Ze0OiAyMDIx5bm0OOaciDE35pelIDM6MjENCj7mlLbku7bkuro6IEtlbnQgV2F0 c2VuIDxrZW50K2lldGZAd2F0c2VuLm5ldD4NCj4+5oqE6YCBOiBuZXRtb2RAaWV0Zi5vcmcNCuS4 u+mimDogUmU6IFtuZXRtb2RdIHN5c3RlbSBjb25maWd1cmF0aW9uIHN5bmMgbWVjaGFuaXNtDQoN Cg0KDQpPbiBTdW4sIEF1ZyAxNSwgMjAyMSBhdCAxMjo0OSBQTSBLZW50IFdhdHNlbiA8a2VudCtp ZXRmQHdhdHNlbi5uZXQ8bWFpbHRvOmtlbnQlMkJpZXRmQHdhdHNlbi5uZXQ+PiB3cm90ZToNCg0K SXQgd2FzIGEgZGlmZmVyZW50IGVtYWlsIEkgdGhpbmsgcHJvcG9zaW5nIGV4dGVuc2lvbnMgaW5z dGVhZCBvZiBhIGRhdGFzdG9yZS4NCg0KVGhpcyBlbWFpbDogaHR0cHM6Ly9tYWlsYXJjaGl2ZS5p ZXRmLm9yZy9hcmNoL21zZy9uZXRtb2QvU0hSUFN4SElEeHNmRjJ0MEdYWGl5RkhPbkd3Lw0KDQoN Cg0KPldoYXQgaXMgdGhlIHB1cnBvc2Ugb2Ygc3lzdGVtLWNvbmZpZ3VyYXRpb24NCg0KDQoNCj5V c2UtY2FzZSBBKSAgICBUaGUgc3lzdGVtIHNldHMgc29tZSB2YWx1ZXMgYmVjYXVzZSBpdCBrbm93 cyB3aGF0IHRoZXkgc2hhbGwNCg0KPmJlLiBJbiB0aGlzIGNhc2UgdGhlIGNsaWVudCBtdXN0IG5v dCBiZSBhbGxvd2VkIHRvIG1vZGlmeSB0aGVzZSB2YWx1ZXMuIFdlDQoNCj53YW50IHRvIGNoZWNr IGNvbmZpZ3VyYXRpb24gZGF0YSBhZ2FpbnN0IHRoZXNlIHZhbHVlcy4gIEUuZy4sIEFjbWVIb21l Um91dGVyDQoNCj5oYXMgNSBpbnRlcmZhY2VzIGNhbGxlZCBldGgwLCBldGgxLCBldGgsMiwgZXRo MyBhbmQgV0FOLiBUaGUgY2xpZW50IHNob3VsZA0KDQo+bm90IHRyeSB0byBhZGQgb3IgcmVtb3Zl IGludGVyZmFjZXMgdG8gdGhpcyBzZXQuDQoNCj4NCg0KPlVzZS1jYXNlIEIpICAgIFRoZSBzeXN0 ZW0gcHJvdmlkZXMgaW5pdGlhbCB2YWx1ZXMgZm9yIHNvbWV0aGluZyB0aGF0IGNhbiBiZQ0KDQo+ Y29uZmlndXJlZCBpbiBtYW55IHdheXMuIEluIHRoaXMgY2FzZSB0aGUgY2xpZW50IGlzIGZyZWUg dG8gbW9kaWZ5IHRoZQ0KDQo+c3lzdGVtLWRlZmluZWQgdmFsdWVzLiBFLmcuLCBhbiBpbml0aWFs IHNldCBvZiBOQUNNIHJ1bGVzIGlzIHByb3ZpZGVkLiBJbg0KDQo+dGhpcyBjYXNlIGFueSBjb25z dHJhaW50cyBiYXNlZCBvbiB0aGUgc3lzdGVtIGRhdGEgYXJlIHZlcnkgd2VhaywgYXMgdGhlDQoN Cj51c2VyIGNhbiBjaGFuZ2UgdGhlIHN5c3RlbS1kYXRhIGl0c2VsZi4NCj5JdCBpcyBwb3NzaWJs ZSB0byBzdXBwb3J0IHRoZXNlIHVzZS1jYXNlcyB3aXRoIGFjY2Vzcy1jb250cm9sIGNvbnZlbnRp b25zLg0KDQo+SSByZS1yZWFkIFJGQyA4ODA4IGFuZCA4MzQyIGFnYWluLg0KPklNTyB0aGlzIGRy YWZ0IG92ZXJsYXBzIHRoZSBmYWN0b3J5LWRlZmF1bHQgZGF0YXN0b3JlLg0KPlVuZm9ydHVuYXRl bHksIFJGQyA4ODA4IGRvZXMgbm90IGRvY3VtZW50IE5NREEsIEFwcGVuZGl4IEEzIGRldGFpbHMN Cj5odHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzgzNDIjYXBwZW5kaXgt QS4zDQo+SXQgZG9lcyBub3Qgc2F5IGlmIDxmYWN0b3J5LWRlZmF1bHQ+IGRhdGFzdG9yZSBmZWVk cyBpbnRvIDxydW5uaW5nPiBvciBpbnRvIDxpbnRlbmRlZD4uDQo+SXQgaXMgbm90IGNsZWFyIGhv dyA8c3lzdGVtPiB3b3VsZCBpbnRlcmFjdCB3aXRoIG90aGVyIGRhdGFzdG9yZXMuDQpbUWluXTog QXMgZGVzY3JpYmVkIGluIEFwcGVuZGl4LUEuMywgdHdvIHdheXMgdG8gaW50ZXJhY3Qgd2l0aCBv dGhlciBkYXRhc3RvcmUgYXJlIGRpc2N1c3NlZCwgb25lIGlzIGludGVyYWN0IGltcGxpY2l0bHks IHRoZSBvdGhlciBpcyB0byB1c2UNClJQQyB0byB0cmlnZ2VyIGFwcGxpY2F0aW9uIG9mIHRoZSBk YXRhc3RvcmUncyBkYXRhLCBpbiBmYWN0b3J5IGRlZmF1bHQgc2V0dGluZyBjYXNlLCA8ZmFjdG9y eS1yZXNldD4gcnBjIHdpbGwgcmVzZXQgdGhlIGNvbnRlbnRzIG9mIGFsbCByZWxldmFudCBkYXRh c3RvcmVzIHRvIGZhY3RvcnkgZGVmYXVsdCBzdGF0ZS4NClRoZSBleHRyZW1lIGNhc2Ugb2YgZmFj dG9yeSBkZWZhdWx0IHN0YXRlIGlzIG5vIGNvbmZpZ3VyYXRpb24gYXQgYWxsIGZvciBlYWNoIGRh dGFzdG9yZS4NCg0KDQo+SXQgaXMgbm90IGNsZWFyIHdoeSBpdCBpcyBldmVuIG5lZWRlZCBzaW5j ZSA8ZmFjdG9yeS1kZWZhdWx0PiBjb250YWlucyBvbmx5IHN5c3RlbSBzZXR0aW5ncy4NCltRaW5d OiBJIGFncmVlIDxmYWN0b3J5LWRlZmF1bHQ+IGNvdWxkIGhhdmUgc3lzdGVtIHNldHRpbmcuIEJ1 dCB1bnNwZWNpZmllZCBmb3Igc29tZSByZWFzb25zLg0KQmFzZWQgb24gZWFybGllciBkaXNjdXNz aW9uIG9uIGZhY3RvcnkgZGVmYXVsdCwgd2hhdCBjb250ZW50IGlzIGluY2x1ZGVkIGluIDxmYWN0 b3J5LWRlZmF1bHQ+IGFuZCBob3cgdG8gZm9ybWF0IHRoaXMgY29udGVudCwgZS5nLiwgWUFORyBp bnN0YW5jZSBmaWxlIGZvcm1hdA0KSGF2ZSBiZWVuIHJ1bGVkIG91dCBvZiB0aGUgc2NvcGUuIFNl ZSB0aGUgZGlmZiBpbiB2LTA3DQpodHRwczovL3d3dy5pZXRmLm9yZy9yZmNkaWZmP3VybDI9ZHJh ZnQtaWV0Zi1uZXRtb2QtZmFjdG9yeS1kZWZhdWx0LTA3LnR4dA0KDQpLLg0KDQoNCj5BbmR5DQoN Cg== --_000_ad7ec21e0d3d477b91bebdfdeec01303huaweicom_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 SGVsdmV0aWNhOw0KCXBhbm9zZS0xOjIgMTEgNiA0IDIgMiAyIDIgMiA0O30NCkBmb250LWZhY2UN Cgl7Zm9udC1mYW1pbHk65a6L5L2TOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0K QGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTrlrovkvZM7DQoJcGFub3NlLTE6MiAxIDYgMCAzIDEg MSAxIDEgMTt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6 MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiXEDlrovk vZMiOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0KQGZvbnQtZmFjZQ0KCXtmb250 LWZhbWlseTrlvq7ova/pm4Xpu5E7DQoJcGFub3NlLTE6MiAxMSA1IDMgMiAyIDQgMiAyIDQ7fQ0K QGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiXEDlvq7ova/pm4Xpu5EiOw0KCXBhbm9zZS0xOjIg MTEgNSAzIDIgMiA0IDIgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q29uc29sYXM7 DQoJcGFub3NlLTE6MiAxMSA2IDkgMiAyIDQgMyAyIDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMg Ki8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBj bTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZh bWlseTrlrovkvZM7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJp b3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCmE6 dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUtcHJpb3JpdHk6 OTk7DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KcHJlDQoJ e21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgltc28tc3R5bGUtbGluazoiSFRNTCDpooTorr7moLzl vI8gQ2hhciI7DQoJbWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1z aXplOjEyLjBwdDsNCglmb250LWZhbWlseTrlrovkvZM7fQ0KcC5Nc29MaXN0UGFyYWdyYXBoLCBs aS5Nc29MaXN0UGFyYWdyYXBoLCBkaXYuTXNvTGlzdFBhcmFncmFwaA0KCXttc28tc3R5bGUtcHJp b3JpdHk6MzQ7DQoJbWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJdGV4dC1p bmRlbnQ6MjEuMHB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk65a6L5L2TO30N CnNwYW4uSFRNTENoYXINCgl7bXNvLXN0eWxlLW5hbWU6IkhUTUwg6aKE6K6+5qC85byPIENoYXIi Ow0KCW1zby1zdHlsZS1wcmlvcml0eTo5OTsNCgltc28tc3R5bGUtbGluazoiSFRNTCDpooTorr7m oLzlvI8iOw0KCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkN Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmki LHNhbnMtc2VyaWY7DQoJY29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5 bGUtdHlwZTpleHBvcnQtb25seTt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo2MTIuMHB0 IDc5Mi4wcHQ7DQoJbWFyZ2luOjcyLjBwdCA5MC4wcHQgNzIuMHB0IDkwLjBwdDt9DQpkaXYuV29y ZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rpb24xO30NCi8qIExpc3QgRGVmaW5pdGlvbnMgKi8N CkBsaXN0IGwwDQoJe21zby1saXN0LWlkOjY0OTc1MDU2NTsNCgltc28tbGlzdC10eXBlOmh5YnJp ZDsNCgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6NDgzODM0NjIwIC01MTQ4Mjk3MTIgNjc2OTg3MTMg Njc2OTg3MTUgNjc2OTg3MDMgNjc2OTg3MTMgNjc2OTg3MTUgNjc2OTg3MDMgNjc2OTg3MTMgNjc2 OTg3MTU7fQ0KQGxpc3QgbDA6bGV2ZWwxDQoJe21zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1z by1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDozOS4wcHQ7DQoJdGV4 dC1pbmRlbnQ6LTE4LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDINCgl7bXNvLWxldmVsLW51bWJlci1m b3JtYXQ6YWxwaGEtbG93ZXI7DQoJbXNvLWxldmVsLXRleHQ6IiUyXCkiOw0KCW1zby1sZXZlbC10 YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4t bGVmdDo2My4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTIxLjBwdDt9DQpAbGlzdCBsMDpsZXZlbDMNCgl7 bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6cm9tYW4tbG93ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9w Om5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpyaWdodDsNCgltYXJnaW4tbGVmdDo4 NC4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTIxLjBwdDt9DQpAbGlzdCBsMDpsZXZlbDQNCgl7bXNvLWxl dmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1h cmdpbi1sZWZ0OjEwNS4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTIxLjBwdDt9DQpAbGlzdCBsMDpsZXZl bDUNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93ZXI7DQoJbXNvLWxldmVsLXRl eHQ6IiU1XCkiOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXIt cG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDoxMjYuMHB0Ow0KCXRleHQtaW5kZW50Oi0yMS4w cHQ7fQ0KQGxpc3QgbDA6bGV2ZWw2DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OnJvbWFuLWxv d2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRp b246cmlnaHQ7DQoJbWFyZ2luLWxlZnQ6MTQ3LjBwdDsNCgl0ZXh0LWluZGVudDotMjEuMHB0O30N CkBsaXN0IGwwOmxldmVsNw0KCXttc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwt bnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6MTY4LjBwdDsNCgl0ZXh0LWluZGVu dDotMjEuMHB0O30NCkBsaXN0IGwwOmxldmVsOA0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDph bHBoYS1sb3dlcjsNCgltc28tbGV2ZWwtdGV4dDoiJThcKSI7DQoJbXNvLWxldmVsLXRhYi1zdG9w Om5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjE4 OS4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTIxLjBwdDt9DQpAbGlzdCBsMDpsZXZlbDkNCgl7bXNvLWxl dmVsLW51bWJlci1mb3JtYXQ6cm9tYW4tbG93ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7 DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpyaWdodDsNCgltYXJnaW4tbGVmdDoyMTAuMHB0 Ow0KCXRleHQtaW5kZW50Oi0yMS4wcHQ7fQ0Kb2wNCgl7bWFyZ2luLWJvdHRvbTowY207fQ0KdWwN Cgl7bWFyZ2luLWJvdHRvbTowY207fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHht bD4NCjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3ht bD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6 ZXh0PSJlZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBl bGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iWkgtQ04iIGxp bms9ImJsdWUiIHZsaW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3 RCI+SGksIEFuZHk6PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5BIGZldyBjbGFyaWZpY2F0 aW9ucyBiZWxvdy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz dHlsZT0ibWFyZ2luLWxlZnQ6MjEuMHB0O21zby1wYXJhLW1hcmdpbi1sZWZ0OjEuNzVnZCI+PGI+ PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx dW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj4mZ3Q7PC9zcGFuPjwvYj48Yj48c3Bh biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5Em cXVvdDssc2Fucy1zZXJpZiI+5Y+R5Lu25Lq6PHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9z cGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m YW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPg0KIG5ldG1vZCBbbWFp bHRvOm5ldG1vZC1ib3VuY2VzQGlldGYub3JnXSA8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2Vy aWYiPuS7o+ihqA0KPC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6 ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYi PkFuZHkgQmllcm1hbjxicj4NCjxiPiZndDs8L2I+PC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250 LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNl cmlmIj7lj5HpgIHml7bpl7Q8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48L3NwYW4+PC9iPjxz cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv dDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+IDIwMjE8L3NwYW4+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNh bnMtc2VyaWYiPuW5tDxzcGFuIGxhbmc9IkVOLVVTIj44PC9zcGFuPuaciDxzcGFuIGxhbmc9IkVO LVVTIj4xNzwvc3Bhbj7ml6U8c3BhbiBsYW5nPSJFTi1VUyI+DQogMzoyMTxicj4NCjxiPiZndDs8 L2I+PC9zcGFuPjxiPuaUtuS7tuS6ujxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvYj48c3Bh biBsYW5nPSJFTi1VUyI+IEtlbnQgV2F0c2VuICZsdDtrZW50JiM0MztpZXRmQHdhdHNlbi5uZXQm Z3Q7PGJyPg0KPGI+Jmd0OyZndDs8L2I+PC9zcGFuPjxiPuaKhOmAgTxzcGFuIGxhbmc9IkVOLVVT Ij46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyI+IG5ldG1vZEBpZXRmLm9yZzxicj4NCjwv c3Bhbj48Yj7kuLvpopg8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0i RU4tVVMiPiBSZTogW25ldG1vZF0gc3lzdGVtIGNvbmZpZ3VyYXRpb24gc3luYyBtZWNoYW5pc208 bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9 Im1hcmdpbi1sZWZ0OjIxLjBwdDttc28tcGFyYS1tYXJnaW4tbGVmdDoxLjc1Z2QiPjxzcGFuIGxh bmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPGRpdj4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDoyMS4wcHQ7bXNvLXBhcmEtbWFy Z2luLWxlZnQ6MS43NWdkIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3Nw YW4+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6 MjEuMHB0O21zby1wYXJhLW1hcmdpbi1sZWZ0OjEuNzVnZCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxv OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v cm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjIxLjBwdDttc28tcGFyYS1tYXJnaW4tbGVmdDoxLjc1 Z2QiPjxzcGFuIGxhbmc9IkVOLVVTIj5PbiBTdW4sIEF1ZyAxNSwgMjAyMSBhdCAxMjo0OSBQTSBL ZW50IFdhdHNlbiAmbHQ7PGEgaHJlZj0ibWFpbHRvOmtlbnQlMkJpZXRmQHdhdHNlbi5uZXQiPmtl bnQmIzQzO2lldGZAd2F0c2VuLm5ldDwvYT4mZ3Q7IHdyb3RlOjxvOnA+PC9vOnA+PC9zcGFuPjwv cD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNv bGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0 LjhwdDttYXJnaW4tcmlnaHQ6MGNtIj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibWFyZ2luLWxlZnQ6MjEuMHB0O21zby1wYXJhLW1hcmdpbi1sZWZ0OjEuNzVnZCI+PHNwYW4g bGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8YmxvY2tx dW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+ DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjIxLjBwdDtt c28tcGFyYS1tYXJnaW4tbGVmdDoxLjc1Z2QiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u dC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtIZWx2ZXRpY2EmcXVvdDssc2Fucy1zZXJp ZiI+SXQgd2FzIGEgZGlmZmVyZW50IGVtYWlsIEkgdGhpbmsgcHJvcG9zaW5nIGV4dGVuc2lvbnMg aW5zdGVhZCBvZiBhIGRhdGFzdG9yZS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwv ZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1hcmdpbi1sZWZ0OjIxLjBwdDttc28tcGFyYS1tYXJnaW4tbGVmdDoxLjc1Z2QiPjxz cGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxk aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MjEuMHB0O21zby1w YXJhLW1hcmdpbi1sZWZ0OjEuNzVnZCI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoaXMgZW1haWw6Jm5i c3A7PGEgaHJlZj0iaHR0cHM6Ly9tYWlsYXJjaGl2ZS5pZXRmLm9yZy9hcmNoL21zZy9uZXRtb2Qv U0hSUFN4SElEeHNmRjJ0MEdYWGl5RkhPbkd3LyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbWFp bGFyY2hpdmUuaWV0Zi5vcmcvYXJjaC9tc2cvbmV0bW9kL1NIUlBTeEhJRHhzZkYydDBHWFhpeUZI T25Hdy88L2E+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MjEuMHB0O21zby1wYXJhLW1hcmdpbi1sZWZ0OjEuNzVn ZCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2 Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJn aW4tbGVmdDoyMS4wcHQ7bXNvLXBhcmEtbWFyZ2luLWxlZnQ6MS43NWdkIj48c3BhbiBsYW5nPSJF Ti1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8cHJlIHN0eWxlPSJt YXJnaW4tbGVmdDoyMS4wcHQ7bXNvLXBhcmEtbWFyZ2luLWxlZnQ6MS43NWdkO2JveC1zaXppbmc6 Ym9yZGVyLWJveDttYXJnaW4tYm90dG9tOjFyZW07d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZs b3c6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZndDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMi IHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6IzIxMjUy OSI+V2hhdCBpcyB0aGUgcHVycG9zZSBvZiBzeXN0ZW0tY29uZmlndXJhdGlvbjxvOnA+PC9vOnA+ PC9zcGFuPjwvcHJlPg0KPHByZSBzdHlsZT0ibWFyZ2luLWxlZnQ6MjEuMHB0O21zby1wYXJhLW1h cmdpbi1sZWZ0OjEuNzVnZCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6OS4w cHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6IzIxMjUyOSI+PG86cD4mbmJzcDs8L286cD48 L3NwYW4+PC9wcmU+DQo8cHJlIHN0eWxlPSJtYXJnaW4tbGVmdDoyMS4wcHQ7bXNvLXBhcmEtbWFy Z2luLWxlZnQ6MS43NWdkIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmd0Ozwvc3Bhbj48c3BhbiBsYW5n PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xv cjojMjEyNTI5Ij5Vc2UtY2FzZSBBKSZuYnNwOyZuYnNwOyZuYnNwOyBUaGUgc3lzdGVtIHNldHMg c29tZSB2YWx1ZXMgYmVjYXVzZSBpdCBrbm93cyB3aGF0IHRoZXkgc2hhbGw8bzpwPjwvbzpwPjwv c3Bhbj48L3ByZT4NCjxwcmUgc3R5bGU9Im1hcmdpbi1sZWZ0OjIxLjBwdDttc28tcGFyYS1tYXJn aW4tbGVmdDoxLjc1Z2QiPjxzcGFuIGxhbmc9IkVOLVVTIj4mZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9 IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9y OiMyMTI1MjkiPmJlLiBJbiB0aGlzIGNhc2UgdGhlIGNsaWVudCBtdXN0IG5vdCBiZSBhbGxvd2Vk IHRvIG1vZGlmeSB0aGVzZSB2YWx1ZXMuIFdlPG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8cHJl IHN0eWxlPSJtYXJnaW4tbGVmdDoyMS4wcHQ7bXNvLXBhcmEtbWFyZ2luLWxlZnQ6MS43NWdkIj48 c3BhbiBsYW5nPSJFTi1VUyI+Jmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv bnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjojMjEyNTI5Ij53YW50IHRv IGNoZWNrIGNvbmZpZ3VyYXRpb24gZGF0YSBhZ2FpbnN0IHRoZXNlIHZhbHVlcy4mbmJzcDsgRS5n LiwgQWNtZUhvbWVSb3V0ZXI8bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4NCjxwcmUgc3R5bGU9Im1h cmdpbi1sZWZ0OjIxLjBwdDttc28tcGFyYS1tYXJnaW4tbGVmdDoxLjc1Z2QiPjxzcGFuIGxhbmc9 IkVOLVVTIj4mZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjku MHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOiMyMTI1MjkiPmhhcyA1IGludGVyZmFjZXMg Y2FsbGVkIGV0aDAsIGV0aDEsIGV0aCwyLCBldGgzIGFuZCBXQU4uIFRoZSBjbGllbnQgc2hvdWxk PG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8cHJlIHN0eWxlPSJtYXJnaW4tbGVmdDoyMS4wcHQ7 bXNvLXBhcmEtbWFyZ2luLWxlZnQ6MS43NWdkIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmd0Ozwvc3Bh bj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTpD b25zb2xhcztjb2xvcjojMjEyNTI5Ij5ub3QgdHJ5IHRvIGFkZCBvciByZW1vdmUgaW50ZXJmYWNl cyB0byB0aGlzIHNldC48bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4NCjxwcmUgc3R5bGU9Im1hcmdp bi1sZWZ0OjIxLjBwdDttc28tcGFyYS1tYXJnaW4tbGVmdDoxLjc1Z2QiPjxzcGFuIGxhbmc9IkVO LVVTIj4mZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjkuMHB0 O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOiMyMTI1MjkiPjxvOnA+Jm5ic3A7PC9vOnA+PC9z cGFuPjwvcHJlPg0KPHByZSBzdHlsZT0ibWFyZ2luLWxlZnQ6MjEuMHB0O21zby1wYXJhLW1hcmdp bi1sZWZ0OjEuNzVnZCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZndDs8L3NwYW4+PHNwYW4gbGFuZz0i RU4tVVMiIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6 IzIxMjUyOSI+VXNlLWNhc2UgQikmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIHN5c3RlbSBwcm92aWRl cyBpbml0aWFsIHZhbHVlcyBmb3Igc29tZXRoaW5nIHRoYXQgY2FuIGJlPG86cD48L286cD48L3Nw YW4+PC9wcmU+DQo8cHJlIHN0eWxlPSJtYXJnaW4tbGVmdDoyMS4wcHQ7bXNvLXBhcmEtbWFyZ2lu LWxlZnQ6MS43NWdkIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJF Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjoj MjEyNTI5Ij5jb25maWd1cmVkIGluIG1hbnkgd2F5cy4gSW4gdGhpcyBjYXNlIHRoZSBjbGllbnQg aXMgZnJlZSB0byBtb2RpZnkgdGhlPG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8cHJlIHN0eWxl PSJtYXJnaW4tbGVmdDoyMS4wcHQ7bXNvLXBhcmEtbWFyZ2luLWxlZnQ6MS43NWdkIj48c3BhbiBs YW5nPSJFTi1VUyI+Jmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6 ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjojMjEyNTI5Ij5zeXN0ZW0tZGVmaW5l ZCB2YWx1ZXMuIEUuZy4sIGFuIGluaXRpYWwgc2V0IG9mIE5BQ00gcnVsZXMgaXMgcHJvdmlkZWQu IEluPG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8cHJlIHN0eWxlPSJtYXJnaW4tbGVmdDoyMS4w cHQ7bXNvLXBhcmEtbWFyZ2luLWxlZnQ6MS43NWdkIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmd0Ozwv c3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWls eTpDb25zb2xhcztjb2xvcjojMjEyNTI5Ij50aGlzIGNhc2UgYW55IGNvbnN0cmFpbnRzIGJhc2Vk IG9uIHRoZSBzeXN0ZW0gZGF0YSBhcmUgdmVyeSB3ZWFrLCBhcyB0aGU8bzpwPjwvbzpwPjwvc3Bh bj48L3ByZT4NCjxwcmUgc3R5bGU9Im1hcmdpbi1sZWZ0OjIxLjBwdDttc28tcGFyYS1tYXJnaW4t bGVmdDoxLjc1Z2QiPjxzcGFuIGxhbmc9IkVOLVVTIj4mZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVO LVVTIiBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOiMy MTI1MjkiPnVzZXIgY2FuIGNoYW5nZSB0aGUgc3lzdGVtLWRhdGEgaXRzZWxmLjxvOnA+PC9vOnA+ PC9zcGFuPjwvcHJlPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjIx LjBwdDttc28tcGFyYS1tYXJnaW4tbGVmdDoxLjc1Z2QiPjxzcGFuIGxhbmc9IkVOLVVTIj4mZ3Q7 SXQgaXMgcG9zc2libGUgdG8gc3VwcG9ydCB0aGVzZSB1c2UtY2FzZXMgd2l0aCBhY2Nlc3MtY29u dHJvbCBjb252ZW50aW9ucy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MjEuMHB0O21zby1wYXJhLW1h cmdpbi1sZWZ0OjEuNzVnZCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9z cGFuPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6 MjEuMHB0O21zby1wYXJhLW1hcmdpbi1sZWZ0OjEuNzVnZCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZn dDtJIHJlLXJlYWQgUkZDIDg4MDggYW5kIDgzNDIgYWdhaW4uPHNwYW4gc3R5bGU9ImNvbG9yOiMx RjQ5N0QiPjxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MjEuMHB0O21zby1wYXJhLW1hcmdp bi1sZWZ0OjEuNzVnZCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZndDtJTU8gdGhpcyBkcmFmdCBvdmVy bGFwcyB0aGUgZmFjdG9yeS1kZWZhdWx0IGRhdGFzdG9yZS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+ DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6 MjEuMHB0O21zby1wYXJhLW1hcmdpbi1sZWZ0OjEuNzVnZCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZn dDtVbmZvcnR1bmF0ZWx5LCBSRkMgODgwOCBkb2VzIG5vdCBkb2N1bWVudCBOTURBLCBBcHBlbmRp eCBBMyBkZXRhaWxzPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjIxLjBwdDttc28tcGFyYS1tYXJnaW4t bGVmdDoxLjc1Z2QiPjxzcGFuIGxhbmc9IkVOLVVTIj4mZ3Q7PGEgaHJlZj0iaHR0cHM6Ly9kYXRh dHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM4MzQyI2FwcGVuZGl4LUEuMyI+aHR0cHM6Ly9k YXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM4MzQyI2FwcGVuZGl4LUEuMzwvYT48bzpw PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz dHlsZT0ibWFyZ2luLWxlZnQ6MjEuMHB0O21zby1wYXJhLW1hcmdpbi1sZWZ0OjEuNzVnZCI+PHNw YW4gbGFuZz0iRU4tVVMiPiZndDtJdCBkb2VzIG5vdCBzYXkgaWYgJmx0O2ZhY3RvcnktZGVmYXVs dCZndDsgZGF0YXN0b3JlIGZlZWRzIGludG8gJmx0O3J1bm5pbmcmZ3Q7IG9yIGludG8gJmx0O2lu dGVuZGVkJmd0Oy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MjEuMHB0O21zby1wYXJhLW1hcmdpbi1s ZWZ0OjEuNzVnZCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZndDtJdCBpcyBub3QgY2xlYXIgaG93ICZs dDtzeXN0ZW0mZ3Q7IHdvdWxkIGludGVyYWN0IHdpdGggb3RoZXIgZGF0YXN0b3Jlcy48c3BhbiBz dHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD48L286cD48L3NwYW4+PC9zcGFuPjwvcD4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDoyMS4wcHQ7bXNvLXBhcmEtbWFyZ2lu LWxlZnQ6MS43NWdkIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPltR aW5dOiBBcyBkZXNjcmliZWQgaW4gQXBwZW5kaXgtQS4zLCB0d28gd2F5cyB0byBpbnRlcmFjdCB3 aXRoIG90aGVyIGRhdGFzdG9yZSBhcmUgZGlzY3Vzc2VkLCBvbmUgaXMgaW50ZXJhY3QgaW1wbGlj aXRseSwgdGhlIG90aGVyIGlzIHRvIHVzZTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDoyMS4wcHQ7bXNvLXBhcmEtbWFyZ2luLWxl ZnQ6MS43NWdkIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPlJQQyB0 byB0cmlnZ2VyIGFwcGxpY2F0aW9uIG9mIHRoZSBkYXRhc3RvcmUncyBkYXRhLCBpbiBmYWN0b3J5 IGRlZmF1bHQgc2V0dGluZyBjYXNlLCAmbHQ7ZmFjdG9yeS1yZXNldCZndDsgcnBjIHdpbGwgcmVz ZXQgdGhlIGNvbnRlbnRzIG9mIGFsbCByZWxldmFudA0KIGRhdGFzdG9yZXMgdG8gZmFjdG9yeSBk ZWZhdWx0IHN0YXRlLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi IHN0eWxlPSJtYXJnaW4tbGVmdDoyMS4wcHQ7bXNvLXBhcmEtbWFyZ2luLWxlZnQ6MS43NWdkIj48 c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPlRoZSBleHRyZW1lIGNhc2Ug b2YgZmFjdG9yeSBkZWZhdWx0IHN0YXRlIGlzIG5vIGNvbmZpZ3VyYXRpb24gYXQgYWxsIGZvciBl YWNoIGRhdGFzdG9yZS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs IiBzdHlsZT0ibWFyZ2luLWxlZnQ6MjEuMHB0Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv bnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlm O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDoyMS4wcHQiPjxzcGFuIGxhbmc9IkVOLVVTIiBz dHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh bnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9k aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjIxLjBw dDttc28tcGFyYS1tYXJnaW4tbGVmdDoxLjc1Z2QiPjxzcGFuIGxhbmc9IkVOLVVTIj4mZ3Q7SXQg aXMgbm90IGNsZWFyIHdoeSBpdCBpcyBldmVuIG5lZWRlZCBzaW5jZSAmbHQ7ZmFjdG9yeS1kZWZh dWx0Jmd0OyBjb250YWlucyBvbmx5IHN5c3RlbSBzZXR0aW5ncy48bzpwPjwvbzpwPjwvc3Bhbj48 L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxl ZnQ6MjEuMHB0O21zby1wYXJhLW1hcmdpbi1sZWZ0OjEuNzVnZCI+PHNwYW4gbGFuZz0iRU4tVVMi IHN0eWxlPSJjb2xvcjojMUY0OTdEIj5bUWluXTogSSBhZ3JlZSAmbHQ7ZmFjdG9yeS1kZWZhdWx0 Jmd0OyBjb3VsZCBoYXZlIHN5c3RlbSBzZXR0aW5nLiBCdXQgdW5zcGVjaWZpZWQgZm9yIHNvbWUg cmVhc29ucy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibWFyZ2luLWxlZnQ6MjEuMHB0O21zby1wYXJhLW1hcmdpbi1sZWZ0OjEuNzVnZCI+PHNwYW4g bGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5CYXNlZCBvbiBlYXJsaWVyIGRpc2N1 c3Npb24gb24gZmFjdG9yeSBkZWZhdWx0LCB3aGF0IGNvbnRlbnQgaXMgaW5jbHVkZWQgaW4gJmx0 O2ZhY3RvcnktZGVmYXVsdCZndDsgYW5kIGhvdyB0byBmb3JtYXQgdGhpcyBjb250ZW50LCBlLmcu LCBZQU5HIGluc3RhbmNlDQogZmlsZSBmb3JtYXQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MjEuMHB0Ij48c3BhbiBsYW5nPSJF Ti1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkhhdmUgYmVlbiBydWxlZCBvdXQgb2YgdGhlIHNj b3BlLiBTZWUgdGhlIGRpZmYgaW4gdi0wNzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0K PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDoyMS4wcHQ7bXNv LXBhcmEtbWFyZ2luLWxlZnQ6MS43NWdkIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9y OiMxRjQ5N0QiPmh0dHBzOi8vd3d3LmlldGYub3JnL3JmY2RpZmY/dXJsMj1kcmFmdC1pZXRmLW5l dG1vZC1mYWN0b3J5LWRlZmF1bHQtMDcudHh0PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48 bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJi b3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNtIDBj bSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0OjBjbSI+DQo8ZGl2Pg0K PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDoyMS4wcHQ7bXNv LXBhcmEtbWFyZ2luLWxlZnQ6MS43NWdkIj48c3BhbiBsYW5nPSJFTi1VUyI+Sy48bzpwPjwvbzpw Pjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i bWFyZ2luLWxlZnQ6MjEuMHB0O21zby1wYXJhLW1hcmdpbi1sZWZ0OjEuNzVnZCI+PHNwYW4gbGFu Zz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8 L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1s ZWZ0OjIxLjBwdDttc28tcGFyYS1tYXJnaW4tbGVmdDoxLjc1Z2QiPjxzcGFuIGxhbmc9IkVOLVVT Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MjEuMHB0O21zby1wYXJhLW1hcmdpbi1sZWZ0 OjEuNzVnZCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZndDtBbmR5PG86cD48L286cD48L3NwYW4+PC9w Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0 OjIxLjBwdDttc28tcGFyYS1tYXJnaW4tbGVmdDoxLjc1Z2QiPjxzcGFuIGxhbmc9IkVOLVVTIj4m bmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rp dj4NCjwvYm9keT4NCjwvaHRtbD4NCg== --_000_ad7ec21e0d3d477b91bebdfdeec01303huaweicom_-- From nobody Mon Aug 16 21:05:39 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4CC4D3A0D24; Mon, 16 Aug 2021 21:05:37 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.897 X-Spam-Level: X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mT_nx8OUhoPK; Mon, 16 Aug 2021 21:05:32 -0700 (PDT) Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3B3543A0D2D; Mon, 16 Aug 2021 21:05:32 -0700 (PDT) Received: from fraeml734-chm.china.huawei.com (unknown [172.18.147.201]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4GpcqY0Zz9z6BGPh; Tue, 17 Aug 2021 12:04:41 +0800 (CST) Received: from dggeme770-chm.china.huawei.com (10.3.19.116) by fraeml734-chm.china.huawei.com (10.206.15.215) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.8; Tue, 17 Aug 2021 06:05:29 +0200 Received: from dggeme770-chm.china.huawei.com (10.3.19.116) by dggeme770-chm.china.huawei.com (10.3.19.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Tue, 17 Aug 2021 12:05:27 +0800 Received: from dggeme770-chm.china.huawei.com ([10.8.68.58]) by dggeme770-chm.china.huawei.com ([10.8.68.58]) with mapi id 15.01.2176.012; Tue, 17 Aug 2021 12:05:27 +0800 From: "maqiufang (A)" To: Kent Watsen , "draft-ma-netconf-with-system@ietf.org" CC: "netmod@ietf.org" Thread-Topic: virtual interim prep Thread-Index: AQHXkuyF1Unv4IGxKE+IWG54BiByyqt3CPTQ Date: Tue, 17 Aug 2021 04:05:27 +0000 Message-ID: <669a16193b82411d9502543b87b5dbd0@huawei.com> References: <0100017b510a6614-1c248a24-a5e0-4c0b-ad65-0ab44e150273-000000@email.amazonses.com> In-Reply-To: <0100017b510a6614-1c248a24-a5e0-4c0b-ad65-0ab44e150273-000000@email.amazonses.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.136.123.93] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected Archived-At: Subject: Re: [netmod] virtual interim prep X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Aug 2021 04:05:38 -0000 SGksIGNoYWlycywNClRoYW5rcyBmb3IgdGhlIHByb3Bvc2FsLiBJIGFncmVlIHRoYXQgdXNlLWNh c2UgYW5hbHlzaXMgYW5kIHByb2JsZW0gc3RhdGVtZW50IGFyZSBuZWVkZWQgYmVmb3JlIHdlIGRp c2N1c3MgYW55IHNvbHV0aW9uIGRldGFpbHMuICANCldlIHdpbGwgd29yayBvbiB0aGlzIGZpcnN0 bHkgYW5kIHJlZmxlY3QgaXQgb24gZHJhZnQtbWEtbmV0bW9kLXdpdGgtc3lzdGVtLTAwLiAgVGhh bmsgeW91IQ0KDQpCZXN0IFJlZ2FyZHMsDQpRaXVmYW5nIE1hDQoNCi0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQpGcm9tOiBLZW50IFdhdHNlbiBbbWFpbHRvOmtlbnQraWV0ZkB3YXRzZW4ubmV0 XSANClNlbnQ6IFR1ZXNkYXksIEF1Z3VzdCAxNywgMjAyMSA2OjE3IEFNDQpUbzogZHJhZnQtbWEt bmV0Y29uZi13aXRoLXN5c3RlbUBpZXRmLm9yZw0KQ2M6IG5ldG1vZEBpZXRmLm9yZw0KU3ViamVj dDogdmlydHVhbCBpbnRlcmltIHByZXANCg0KV0cgYW5kIEF1dGhvcnMgb2YgZHJhZnQtbWEtbmV0 Y29uZi13aXRoLXN5c3RlbSwNCg0KUGVyIHRoZSAxMTEgc2Vzc2lvbiwgdGhlIGNoYWlycyBkaXNj dXNzZWQgaGF2aW5nIGEgdmlydHVhbCBpbnRlcmltLiAgSWYgdGhlIFdHIGFncmVlcywgd2XigJlk IGxpa2UgdG8gc2NoZWR1bGUgb25lIGZvciBzb21ldGltZSBpbiBPY3RvYmVyLiANCg0KQmVmb3Jl IHNjaGVkdWxpbmcsIHdlIGZlZWwgdGhhdCB1c2UtY2FzZXMgc2hvdWxkIGJlIG5haWxlZCBkb3du IGJldHRlciwgdGFraW5nIGludG8gYWNjb3VudCBhbGwgdGhlIFdHIGNvbW1lbnRzIHNvIGZhciAo dGhhbmsgeW91IEFuZHksIEJhbGF6cywgSmFzb24sIEZyYW5rLCBKdWVyZ2VuLCBhbmQgUWl1ZmFu ZykuICBUaGUgdXNlLWNhc2VzIGNvdWxkIGdvIGludG8gYSBkcmFmdCB1cGRhdGUsIGJ1dCBzdWJt aXR0ZWQgYXMgZHJhZnQtbWEtbmV0bW9kLXdpdGgtc3lzdGVtLTAwLiAgSWYgYW4gdXBkYXRlIGlz IHN1Ym1pdHRlZCwgaXQgbWlnaHQgYmUgZ29vZCB0byBsZWF2ZSBvdXQgc29sdXRpb24gZGV0YWls cywgc28gYXMgdG8gbm90IGRpbHV0ZSBmb2N1cyBmcm9tIHRoZSB1c2UtY2FzZSBhbmFseXNpcy4g IE1ha2VzIHNlbnNlPw0KDQpLZW50IGFuZCBMb3UgKGFuZCBKb2VsKQ0KDQoNCg== From nobody Tue Aug 17 11:21:27 2021 Return-Path: <0100017b5558ab9d-43cdec2f-59c4-4ff0-97e2-3b90cfca869d-000000@amazonses.watsen.net> X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9CA563A295C for ; Tue, 17 Aug 2021 11:21:25 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.896 X-Spam-Level: X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oxmM4HzAWQdQ for ; Tue, 17 Aug 2021 11:21:21 -0700 (PDT) Received: from a8-33.smtp-out.amazonses.com (a8-33.smtp-out.amazonses.com [54.240.8.33]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 060A93A2958 for ; Tue, 17 Aug 2021 11:21:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1629224479; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=dPkYf2EOpBzH9wXzru9bQ7GgMDU7R8VllxpTtP8Kvs8=; b=XrXPjFSeu5oZhT0GAFB5/stGAouuNAsHljJPAjSa38yCDN+ngqxrl5boW8xBwUgf 6EpXciaZv9S92QtxXFBsus5S/FY5hXWyt/MI5lDuiKG5HHbhyLYsbU/aBJRJIrbrG0Q UI8QMu3vzMOm3oA/ojuIg3SEwqypMgejWTKq7OjE= From: Kent Watsen Message-ID: <0100017b5558ab9d-43cdec2f-59c4-4ff0-97e2-3b90cfca869d-000000@email.amazonses.com> Content-Type: multipart/alternative; boundary="Apple-Mail=_F229ED05-674A-4B97-A88D-B773423E4B1D" Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\)) Date: Tue, 17 Aug 2021 18:21:19 +0000 In-Reply-To: Cc: Andy Bierman , "netmod@ietf.org" To: Qin Wu References: X-Mailer: Apple Mail (2.3654.100.0.2.22) Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES X-SES-Outgoing: 2021.08.17-54.240.8.33 Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Aug 2021 18:21:26 -0000 --Apple-Mail=_F229ED05-674A-4B97-A88D-B773423E4B1D Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > >IMO this draft overlaps the factory-default datastore. > >Unfortunately, RFC 8808 does not document NMDA, Appendix A3 details > >https://datatracker.ietf.org/doc/html/rfc8342#appendix-A.3 = > >It does not say if datastore feeds into = or into . > >It is not clear how would interact with other datastores. > [Qin]: As described in Appendix-A.3, two ways to interact with other = datastore are discussed, one is interact implicitly, the other is to use > RPC to trigger application of the datastore's data, in factory default = setting case, rpc will reset the contents of all = relevant datastores to factory default state. > The extreme case of factory default state is no configuration at all = for each datastore. Right. Also, the word =E2=80=9Cflow=E2=80=9D doesn=E2=80=99t seem quite = right=E2=80=A6at least in my mind, it suggests an ongoing relationship, = whereas is really for one-time initializations. =46rom https://datatracker.ietf.org/doc/html/rfc8808#section-3: Management operations: The contents of the datastore is set by the server in an implementation-dependent manner. The contents cannot be changed by management operations via the Network Configuration Protocol (NETCONF), RESTCONF, the CLI, etc., unless specialized, dedicated operations are provided. The datastore can be read using the standard NETCONF/RESTCONF protocol operations. The "factory-reset" operation copies the factory default contents to and, if present, and/or . The contents of these datastores is then propagated automatically to any other read-only datastores, e.g., and . > >It is not clear why it is even needed since = contains only system settings. > [Qin]: I agree could have system setting. But = unspecified for some reasons. > Based on earlier discussion on factory default, what content is = included in and how to format this content, e.g., YANG = instance file format > Have been ruled out of the scope. See the diff in v-07 > = https://www.ietf.org/rfcdiff?url2=3Ddraft-ietf-netmod-factory-default-07.t= xt = Regardless, cannot be used for immutable =E2=80=9Csystem= " defined objects, since it=E2=80=99s contents initialize = client-editable datastores. K. --Apple-Mail=_F229ED05-674A-4B97-A88D-B773423E4B1D Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8
>IMO this draft overlaps the factory-default = datastore.
>Unfortunately, RFC 8808 does not document NMDA, Appendix = A3 details
>It = does not say if <factory-default> datastore feeds into = <running> or into <intended>.
>It is not clear how = <system> would interact with other datastores.
[Qin]: As described in Appendix-A.3, two ways to interact = with other datastore are discussed, one is interact implicitly, the = other is to use
RPC to trigger application of the datastore's data, in = factory default setting case, <factory-reset> rpc will reset the = contents of all relevant datastores to factory default state.
The extreme = case of factory default state is no configuration at all for each = datastore.
Right.  Also, the word =E2=80=9Cflow=E2=80=9D = doesn=E2=80=99t seem quite right=E2=80=A6at least in my mind, it = suggests an ongoing relationship, whereas <factory-default> is = really for one-time initializations.

From https://datatracker.ietf.org/doc/html/rfc8808#section-3:

  =  Management operations:  The contents of the datastore is set = by the
      server in an = implementation-dependent manner.  The contents cannot
      be changed by management operations via = the Network Configuration
      = Protocol (NETCONF), RESTCONF, the CLI, etc., unless = specialized,
      dedicated = operations are provided.  The datastore can be read
      using the standard NETCONF/RESTCONF = protocol operations.  The
      = "factory-reset" operation copies the factory default contents = to
      <running> and, if = present, <startup> and/or <candidate>.  The
      contents of these datastores is then = propagated automatically to
      = any other read-only datastores, e.g., <intended> and
      <operational>.



>It is not clear why it is = even needed since <factory-default> contains only system = settings.
[Qin]: I agree <factory-default> = could have system setting. But unspecified for some reasons.
Based on = earlier discussion on factory default, what content is included in = <factory-default> and how to format this content, e.g., YANG = instance file format
Have been ruled out of the scope. See the = diff in v-07

Regardless, = <factory-default> cannot be used for immutable =E2=80=9Csystem" = defined objects, since it=E2=80=99s contents initialize client-editable = datastores.


K.


= --Apple-Mail=_F229ED05-674A-4B97-A88D-B773423E4B1D-- From nobody Tue Aug 17 16:35:27 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 76F2E3A12F8 for ; Tue, 17 Aug 2021 16:35:15 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.887 X-Spam-Level: X-Spam-Status: No, score=-1.887 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bvls92woD1QQ for ; Tue, 17 Aug 2021 16:35:09 -0700 (PDT) Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com [IPv6:2a00:1450:4864:20::12f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 76A0B3A12C6 for ; Tue, 17 Aug 2021 16:35:09 -0700 (PDT) Received: by mail-lf1-x12f.google.com with SMTP id k5so565622lfu.4 for ; Tue, 17 Aug 2021 16:35:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+ADnZOodgD/xsxQN+l5RFNiYZlRhF0/HkUnTZhWrHFE=; b=i3B1/YzlOIvQ9Fnb1vGQUqYwZHrdQ4oq9Xg5G9LhhAPFwp6O84ec1LNuvhgD5N6LRx akNExsQiXh+G00IBYRcDR6ne+KfFp2qQfhiPru17hn5uvtz//BNUcgjdhTCyixbbPQxe k61WMcQvHkyksnQ93ZyaLK/d4UVckE8Av7KiVYhPek5FnMuPYRRKIQB1nO6XoG5k5V7y sfMWBSh9IqPCGYymjGEWrVWQYlVkZ9pg0mmouNrm3VhT6cL8axN2JBY5xtEAkGDY4Cfm OGpX3b/RysPVj26VZGNVskFWD1v0K311qNh0qqY6R2T1ypvwY6TIsGJuF7ZX8K4cfjCt 9Hmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+ADnZOodgD/xsxQN+l5RFNiYZlRhF0/HkUnTZhWrHFE=; b=CRvjyE3AakKMxxSj0fPZ4fmCstPm1zdyz11+Wh/VOh2f5B8UV/aO3dKWzjsQg394qA ik26xFuYiZEIxmO+MXyIxTlX/OIkOueJUZ5XFIHkFiL2zD6T/WyVu91PpJ+RSskA3FHX 1+GnySe3hYtRD/CaZBffNrfyR6fh/Yq1CjpiH4D4jVmi/veml99F/KoTVKz4zru9SolB +Crhtr6HyCxBOqPNvdpoG6OAM8kxnBb+7Z/dXnlCK/6Yy0fnBQpdqbOrJx9Vmbhsyg17 Z6jQcUjvuWLasreF5O/08ZwG0X6IYwAUJLwFeGSagY+Dxp5qfJBRKowHihawWn9HiKIH ogzw== X-Gm-Message-State: AOAM531PDKwcDYlN4nhtP2QhSTsvMYNei9L87xKGBURajYZdioIPPuYk oLbPLoDafJhtXRooVa0CG0pP27fqMGuvOA15mAqEeg== X-Google-Smtp-Source: ABdhPJxJNsZAaXdoANMInwf3ATkXXH97qpG7Uhu5JA38ZgNXS+Py+PicDbW4+487LNHBlPFhSuQkqECIotIsiUT+mv4= X-Received: by 2002:a19:4f1a:: with SMTP id d26mr4009026lfb.377.1629243305593; Tue, 17 Aug 2021 16:35:05 -0700 (PDT) MIME-Version: 1.0 References: <0100017b5558ab9d-43cdec2f-59c4-4ff0-97e2-3b90cfca869d-000000@email.amazonses.com> In-Reply-To: <0100017b5558ab9d-43cdec2f-59c4-4ff0-97e2-3b90cfca869d-000000@email.amazonses.com> From: Andy Bierman Date: Tue, 17 Aug 2021 16:34:54 -0700 Message-ID: To: Kent Watsen Cc: Qin Wu , "netmod@ietf.org" Content-Type: multipart/alternative; boundary="0000000000007ba4ee05c9c9c4c0" Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Aug 2021 23:35:25 -0000 --0000000000007ba4ee05c9c9c4c0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, I guess I do not agree with the premise of the draft, which is that the client needs to take over control of the system-controlled configuration. I will wait for a draft update and see if that helps understand it better. Andy On Tue, Aug 17, 2021 at 11:21 AM Kent Watsen wrote: > > >IMO this draft overlaps the factory-default datastore. > >Unfortunately, RFC 8808 does not document NMDA, Appendix A3 details > >https://datatracker.ietf.org/doc/html/rfc8342#appendix-A.3 > >It does not say if datastore feeds into or > into . > >It is not clear how would interact with other datastores. > [Qin]: As described in Appendix-A.3, two ways to interact with other > datastore are discussed, one is interact implicitly, the other is to use > RPC to trigger application of the datastore's data, in factory default > setting case, rpc will reset the contents of all relevant > datastores to factory default state. > The extreme case of factory default state is no configuration at all for > each datastore. > > > Right. Also, the word =E2=80=9Cflow=E2=80=9D doesn=E2=80=99t seem quite = right=E2=80=A6at least in my > mind, it suggests an ongoing relationship, whereas is > really for one-time initializations. > > From https://datatracker.ietf.org/doc/html/rfc8808#section-3: > > Management operations: The contents of the datastore is set by the > server in an implementation-dependent manner. The contents cannot > be changed by management operations via the Network Configuration > Protocol (NETCONF), RESTCONF, the CLI, etc., unless specialized, > dedicated operations are provided. The datastore can be read > using the standard NETCONF/RESTCONF protocol operations. The > "factory-reset" operation copies the factory default contents to > and, if present, and/or . The > contents of these datastores is then propagated automatically to > any other read-only datastores, e.g., and > . > > > > >It is not clear why it is even needed since contains > only system settings. > [Qin]: I agree could have system setting. But > unspecified for some reasons. > Based on earlier discussion on factory default, what content is included > in and how to format this content, e.g., YANG instance > file format > Have been ruled out of the scope. See the diff in v-07 > https://www.ietf.org/rfcdiff?url2=3Ddraft-ietf-netmod-factory-default-07.= txt > > > > Regardless, cannot be used for immutable =E2=80=9Csyste= m" > defined objects, since it=E2=80=99s contents initialize client-editable d= atastores. > > > K. > > > --0000000000007ba4ee05c9c9c4c0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

I guess I do not agree w= ith the premise of the draft, which is that the client
needs to t= ake over control of the system-controlled configuration.=C2=A0 I will
=
wait for a draft update and see if that helps understand it better.


Andy

On Tue, Aug 17, 2021= at 11:21 AM Kent Watsen <kent= +ietf@watsen.net> wrote:

<= span lang=3D"EN-US">>IMO this draft overlaps the factory-default datasto= re.
>Unfortunately, RFC 8808 does not document NMDA, Appendix A3 details
>It does not say if &l= t;factory-default> datastore feeds into <running> or into <inte= nded>.
>It is not clear how <system> would interact with other da= tastores.<= /div>
[Qi= n]: As described in Appendix-A.3, two ways to interact with other datastore= are discussed, one is interact implicitly, the other is to use
RPC to trigger application of the datastore's data, in factory d= efault setting case, <factory-reset> rpc will reset the contents of a= ll relevant datastores to factory default state.
=
The ex= treme case of factory default state is no configuration at all for each dat= astore.

Right.=C2=A0 Also, the word =E2=80=9Cflow=E2=80=9D doesn=E2=80=99t = seem quite right=E2=80=A6at least in my mind, it suggests an ongoing relati= onship, whereas <factory-default> is really for one-time initializati= ons.


=C2=A0 = =C2=A0Management operations: =C2=A0The contents of the datastore is set by = the
=C2=A0 =C2=A0 =C2=A0 server in an implementation-dependent ma= nner.=C2=A0 The contents cannot
=C2=A0 =C2=A0 =C2=A0 be changed b= y management operations via the Network Configuration
=C2=A0 =C2= =A0 =C2=A0 Protocol (NETCONF), RESTCONF, the CLI, etc., unless specialized,=
=C2=A0 =C2=A0 =C2=A0 dedicated operations are provided.=C2=A0 Th= e datastore can be read
=C2=A0 =C2=A0 =C2=A0 using the standard N= ETCONF/RESTCONF protocol operations.=C2=A0 The
=C2=A0 =C2=A0 =C2= =A0 "factory-reset" operation copies the factory default contents= to
=C2=A0 =C2=A0 =C2=A0 <running> and, if present, <sta= rtup> and/or <candidate>.=C2=A0 The
=C2=A0 =C2=A0 =C2=A0= contents of these datastores is then propagated automatically to
=C2=A0 =C2=A0 =C2=A0 any other read-only datastores, e.g., <intended>= ; and
=C2=A0 =C2=A0 =C2=A0 <operational>.



<= /span>
>It is not cl= ear why it is even needed since <factory-default> contains only syste= m settings.
[Qin]: I agree <factory-defaul= t> could have system setting. But unspecified for some reasons.
Based on earlier discussion on factory default, what content is i= ncluded in <factory-default> and how to format this content, e.g., YA= NG instance file format
Have been ruled out of the scope.= See the diff in v-07
<= span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">https://www.ietf.o= rg/rfcdiff?url2=3Ddraft-ietf-netmod-factory-default-07.txt
=


Reg= ardless, <factory-default> cannot be used for immutable =E2=80=9Csyst= em" defined objects, since it=E2=80=99s contents initialize client-edi= table datastores.


K.


--0000000000007ba4ee05c9c9c4c0-- From nobody Mon Aug 23 03:27:39 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 41BEC3A0D2F for ; Mon, 23 Aug 2021 03:27:37 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -9.598 X-Spam-Level: X-Spam-Status: No, score=-9.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=FjhZaN7i; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=NxwBPCP3 Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AyCO_tUb1xSP for ; Mon, 23 Aug 2021 03:27:31 -0700 (PDT) Received: from rcdn-iport-1.cisco.com (rcdn-iport-1.cisco.com [173.37.86.72]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0C85E3A0D29 for ; Mon, 23 Aug 2021 03:27:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=74532; q=dns/txt; s=iport; t=1629714450; x=1630924050; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=7uNrDCJ3egLgWizpwTaaKbSl/RMTgYtp2Cs8yGvJPAw=; b=FjhZaN7iHCDgtl4YEHzBsKlXOm1KbqJKmMq1RW6q4xO7egmv2exJGv4B XWe188SFWJUTLGJBrVFF1cjHGc5yP+730HQquiN7j/GUFB0+/CQbb8gkc iHKOF58QiTkLKjLYo2p6Z+SW17z/HvVDIAB/vLyHr8nfaSZN26fm1QuTD s=; IronPort-PHdr: =?us-ascii?q?A9a23=3AoC1bxR3IXhT0+5/fsmDPS1BlVkEcU/3cMxQU4?= =?us-ascii?q?YE8jLQIeaOmrNzuP03asPNqilKBHYDW8OlNhOeetaf8EXcB7pCMvDFnEtRMW?= =?us-ascii?q?hYJhN9Qk1kmB8iIWkDhLfXxdCs8Ws9FUQwt83SyK0MAHsH4ahXbqWGz6jhHH?= =?us-ascii?q?BL5OEJ1K+35F5SUgd6w0rW5+obYZENDgz/uCY4=3D?= IronPort-HdrOrdr: =?us-ascii?q?A9a23=3AQhjk5qqDs7FNBiaLH9NjmyUaV5uAL9V00z?= =?us-ascii?q?EX/kB9WHVpm5Oj9vxGzc506farslkssSkb6Ky90dq7MAzhHP9OkMcs1NKZPD?= =?us-ascii?q?UO11HYVL2KgbGSpgEIXheOi9K1tp0QMpSWaueAdmSS5PySiGLTfrpQo6jkzE?= =?us-ascii?q?nrv5al854Hd3AMV0gU1XYBNu/tKDwReOApP+tcKLOsou584xawc3Ueacq2Ql?= =?us-ascii?q?MfWfLYmtHNnJX6JTYbGh8O8mC1/HOVwY+/NyLd8gYVUjtJz7tn23PCiRbF6q?= =?us-ascii?q?KqtOz+4gPA1lXU849dlLLau5h+7Y23+4oowwfX+0KVjbdaKvq/VfcO0aeSAW?= =?us-ascii?q?MR4ZzxStEbTp1OAj3qDzmISFDWqnfdOX4Vmg7fIBmj8CDeSQiTfkNmNyKH7r?= =?us-ascii?q?gpKCcxonBQzO1UweZF2XmUuIFQCg6FlCPh58LQXxUvjUasp2E++NRjxUC3fL?= =?us-ascii?q?FuIIO5l7Zvt3+90a1waB7S+cQiCq1jHcvc7PFZfReTaG3YpHBmxJipUm4oFh?= =?us-ascii?q?mLT0AesojNugIm0ExR3g8d3ogSj30A/JUyR91N4PnFKL1hkPVLQtUNZaxwCe?= =?us-ascii?q?8dSY+8C3DLQxjLLGWOSG6XWZ0vKjbIsdr68b817OaldNgBy4Yzgo3IVBdCuW?= =?us-ascii?q?s7ayvVeISzNV1wg2bwqUCGLHvQI+1llupEU4zHNc3W2He4OSMTeuOb0oAiPv?= =?us-ascii?q?E=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0D1AACudyNh/5hdJa1QCh0BAQEBCQE?= =?us-ascii?q?SAQUFAYIHBgELAYEiMCMuB3daNzGER4NIA4U5iAQDmj+BLhSBEQNUCwEBAQ0?= =?us-ascii?q?BAUEEAQGEagIXgiICJTYHDgECBAEBARIBAQUBAQECAQYEgREThWgNhkIBAQE?= =?us-ascii?q?BAxIRChMBATgPAgEIEQQBASEBBgMCAgIwFAkIAgQBEggTB4JQgX5XAy8BnFc?= =?us-ascii?q?BgToCih96gTGBAYIHAQEGBASFChiCNAmBOgGCfYJzU0gBAYJtg3onHIFJRIF?= =?us-ascii?q?YgmI+hBcTAho0gmE2ggwihEs+LWoEJzCBehFokTIIg0aIWoNriViSHQqDKp5?= =?us-ascii?q?wEqZ4lhWgGROEdAIEAgQFAg4BAQaBaA0nK4EucBWDJFAZD44gDBaDUIpeczg?= =?us-ascii?q?CBgEKAQEDCY5qAQE?= X-IronPort-AV: E=Sophos;i="5.84,344,1620691200"; d="scan'208,217";a="914525961" Received: from rcdn-core-1.cisco.com ([173.37.93.152]) by rcdn-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 23 Aug 2021 10:27:23 +0000 Received: from mail.cisco.com (xbe-rcd-005.cisco.com [173.37.102.20]) by rcdn-core-1.cisco.com (8.15.2/8.15.2) with ESMTPS id 17NARNoc021287 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=OK); Mon, 23 Aug 2021 10:27:23 GMT Received: from xfe-aln-001.cisco.com (173.37.135.121) by xbe-rcd-005.cisco.com (173.37.102.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.15; Mon, 23 Aug 2021 05:27:23 -0500 Received: from xfe-rtp-004.cisco.com (64.101.210.234) by xfe-aln-001.cisco.com (173.37.135.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.15; Mon, 23 Aug 2021 05:27:23 -0500 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (64.101.32.56) by xfe-rtp-004.cisco.com (64.101.210.234) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.15 via Frontend Transport; Mon, 23 Aug 2021 06:27:23 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QlGX3hTH5MmURk13s3dC+1cs64gIpu8Uc9Z6ZyLsEd/ETIWKpcm/D3uM/bJQ8I1bd6vYuBSqw0+8s3e174NSMzM6DV22I+Z7hwUGWCE+3+xNhYIh7lvtRy+C3w6Sashr5BzBbkm8icMrz9my4Ax1F8qZHOGbs8ZfGc0g9oRAcvZGFaPCVbyDq4CsvA8G3oE9qGIdST58Fvv72Ov1gKanqMV7hISqwJgQ1TyP89sscmqg7gAehRZgVN1DLjD02NLlLniU/VlESTRkDcv/9sdPhWGok79tq9prviF3vydK2HIBOaxXEkM0GAAkhy5NXhu9iBc32kap9o1HgQg4AnWx9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7uNrDCJ3egLgWizpwTaaKbSl/RMTgYtp2Cs8yGvJPAw=; b=GUBpDOZgxCmS+v9I46DvXCQQ+gHJsxp+jEjCi4kDJQD0j5o9YM4g6DmRup1xUxSZJD2C38BTSJ/EqBPdhb9irt+97idqkePqTF/ZSn2IPKfmkBaoxVgagT/WCYLcZRzdjWsnH0UxvIBXrmwr/5TlWNHX/0b8i8HU5eEcAkOAiuvpAz792riRA3OtQrb2uUYpj6hUsFpi0TFGXNc3ITmbKSE/iU1zW8Rh2DV/Siy5qKGVEWxsbGuGSExSKp2Ec1frUqTY2t7KlMofme8rkrxi5SZ6rvFMlzNKccB0j3qfH5+NwiLKwKnYhw+xI2tKZwrLFZ8wZlPRZDII7nSyJpixFg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7uNrDCJ3egLgWizpwTaaKbSl/RMTgYtp2Cs8yGvJPAw=; b=NxwBPCP3gK92uNOVCTMppUiH4GHfHHhYxKFzXZsi6t8MtYSmEjr8B41RYf9/A0+tQZI9Ttot+Catj3KCbVtDytLgTFhvJHWZ3la0uJ8cET9ncKfBLVcMZ5+YxUI854hJx0CxqZLmNK3OEoq4YaqrKjDLErXtj/shcmmRnXU6SiI= Received: from DM4PR11MB5438.namprd11.prod.outlook.com (2603:10b6:5:399::21) by DM6PR11MB3628.namprd11.prod.outlook.com (2603:10b6:5:144::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Mon, 23 Aug 2021 10:27:21 +0000 Received: from DM4PR11MB5438.namprd11.prod.outlook.com ([fe80::5839:4fe5:abd7:35ad]) by DM4PR11MB5438.namprd11.prod.outlook.com ([fe80::5839:4fe5:abd7:35ad%9]) with mapi id 15.20.4436.024; Mon, 23 Aug 2021 10:27:21 +0000 From: "Rob Wilton (rwilton)" To: =?utf-8?B?QmFsw6F6cyBMZW5neWVs?= , "Andy Bierman" , NetMod WG Thread-Topic: [netmod] yang-instance-file include-defaults leaf Thread-Index: AQHXdB0ZnZibUXpuT0+6mfsyEmKi+6s6kMRwgAHbvACAGptLcIACCfoAgCgIS2A= Date: Mon, 23 Aug 2021 10:27:20 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: ericsson.com; dkim=none (message not signed) header.d=none;ericsson.com; dmarc=none action=none header.from=cisco.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3ea2fe82-a189-49d7-ad48-08d966209726 x-ms-traffictypediagnostic: DM6PR11MB3628: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: XG6tmqDAQB7C1owOhTnIOYfdpmq2XLpQGpDTw5BQMijrJirrOL27sdb4ZT1JkG4yrcZZxJfql4Y5B25sOZZ0L68cdTJJufPpis+k9UIsyQpm27iOiz9vf2r0KfhznebcH+gHIhQWMA19wS4REdRhJHJjF+7Sgddw5Z6OsRvL1/9ZrwunQAd3lptZgi/DW7XiRAIbKRG9j57SGn7gNf6mYoP6cA1/6Q8T3LpNdVVI4H+MMootXwHl/NE9OdyWSp3EhYO1yKDLFxCZzlXilHRIFLymJ49usWjomUJHRa/6cjmP7DOK5/gMN6UP3RhZxy3cmUHi7pws6K6DJbUq6ASO49n5nP20lE04SOuduTG1NM8wMd5pDFkM1IvSXWtLJIxoZk6NQMyNsZOqI1GeatpzmZD7kU/dDAm+olVIFLwf9PY20s/dT+fTvt9JA/7lDq2broQUZJxT8ylqbV8Gog6ruXnGGC49gvCwYFKq36PpVWTgTLu3oWsBZbik6UrapRPg7j5YhXJPKMr9j+4KPNHcHLN9m8LLwABn24jJRwDzuzv8Sp2Q8ozbeGVhrounl1sOnh0LbWCGycda3OSM8YyPUP4UyG+Juu66TUzySkZGgA3g9XBgYyv+ns/2WVmRQ5Ta4rZ5alkvz4+jpqF7YWaGWxQ6nrAJkG2feFYMGBTrYQnPVJTBe4sEVn5EiDiJZoDkrsHOEFAIPi8mz29LyDt/XA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB5438.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(64756008)(76116006)(186003)(2906002)(66946007)(86362001)(83380400001)(66476007)(66556008)(6506007)(53546011)(9686003)(66446008)(7696005)(26005)(8936002)(508600001)(8676002)(52536014)(71200400001)(122000001)(316002)(5660300002)(110136005)(38100700002)(38070700005)(33656002)(55016002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QTZPZ3p1SGx0SDFEUmNBMUpXcmJpLzlURkxBUkQ0aE0ySjNiOVNzVDNyTUpy?= =?utf-8?B?Z2JtMUxyVjZVdDBkQmNiU2hVSUN4YUZnSk5jMlFBc0FsTmpOQ2NQTnQ4d2hz?= =?utf-8?B?d3QrWE9YT2o2c1N5c0V5a3BnKzhrMDFWZ2NSSFdjcFA3anN0Z3FBRTFyUnRl?= =?utf-8?B?UFFvMmNMUnF2ZFNDYWhaK0F5aWhMWXJFSEdqNXZpMlRJVmE2WjhhTFlNUjA4?= =?utf-8?B?M1d0RUIxSlpPS2NrYkRIZk9zdkV3UmJJMW1RZnRoTzRvNXBvT2hXOGpTUzBi?= =?utf-8?B?b3BwaDRSNVMxNmhtUm9XSmt2bHVPd1lDbDRaeWFSVXlOd2dHZXU5S0RNRmh0?= =?utf-8?B?WGNSSloxQkZVMHFJS1YrSkdIYis0Sjd0T3FkNUZTY2N4ZGUyRkdsdUJnOUpB?= =?utf-8?B?R3lERTZjdUlBaTBzVGduWE5vNExsZm9HaVpRcDk3WEVoSVY1cmtmUjk4SVpC?= =?utf-8?B?NXl0OWF6MTBTMGNGVjJqRFlEV2l2b0puQzB4cjN4MDNDV2FwTUFPY0U4aEF1?= =?utf-8?B?K3Fnajg4RnJZYzQ5VFoyV0RuSzhab0NoL0h6ZXZyeXhBMi9zdVhyVmMzUVJp?= =?utf-8?B?eUNaTXJFRGFYYUc4VjFNOUtMeGxyQXNaeERTWmVwUndQNVRwRmx0cW55TzBO?= =?utf-8?B?aS9oaldIbXE5Y3dGS29TUGtQUVZ1N1YrR1FvYnZqY1J4TFp6b2pWNHoxTkNI?= =?utf-8?B?S2J6MUI1QmZXdjhCeFZSRWdnVUNCMldDcVpzaC8za2pYUkFjQnB0VEY2b0dn?= =?utf-8?B?QXZGU2h3OTZCLy82UHRvN0YzUm52QkNNMmJrRDFsdnhpV3gvR09tMnh6U1lE?= =?utf-8?B?QXp0K3htWkNPNUpINnhGYnJjenE4WnRpZFRFWTRsTFZOMkI2SEg4eWZVZlRa?= =?utf-8?B?dVZHQnhWUSt2NWZ1QmdMS1NtR0xQMkFRYTdXWGlVSzIzMFJseHVDNWNJVlpl?= =?utf-8?B?ZU5ESXk2czFNWFA1ejJaWUxORDdOVzN1N2JTRlMwSXJ6cGIxZjM2Mm5ucVk0?= =?utf-8?B?ZVEzQVZHKzNMemhhWlhFWHpDQ2VaekkyRWRCQ0pmZmZMbGFRSTB6M2pFZFRx?= =?utf-8?B?elZOR1lwdWFqNmswZ09xVEtmc0FNeG5ORGRQeEFOYm5sdjg2UklTbEN3ZEpX?= =?utf-8?B?U1FkSVovT0tWT2VLb3lLVzU0bjFBU3NVUElObjhuck91Y0M5d1BUSnNSVzFs?= =?utf-8?B?bHZGZmhjM2doaEhYMU9DYUdrQyt1UWc4TStrVWlCZjRtc1ZkS000SW9qVHgr?= =?utf-8?B?VWd5b25uNlRYMXNTTUdhNTZsWGZvZW4wSkwxNlBCenlwMkhtUDhBTFdmQW1Q?= =?utf-8?B?MjdrR0lhdHo0OWVubDdEUVIvS2U3anpCMUVsK2I2SUtGTzY2RktURHF4RUpi?= =?utf-8?B?TWY0eCtpdFJaNllhTU4wSU1GRjVtS2svRm03NERFUkZaSjBlaTVydENDZUp5?= =?utf-8?B?VnAxS0VRVjRWcm9YeFdsTkxWeUVBM3FqUEd3SWV5ZUhVMnFEUjF0RjlmcnIv?= =?utf-8?B?WTRvMWxLWVZYZzZNbjllZnEwNFNWcElMRWRRZjJaa0hFTTFqQzBkakJlbjVr?= =?utf-8?B?dDVzOFNuUkttZ3NxeTBidWNkQXlOckRINHlrWE1ZNlpWZGZXSFJFTnpTM0pq?= =?utf-8?B?NzFUSGNRMTVTYytpUFpyTTRiT0lOQzBMamdlVEh3WHJ6SnJXd3g1aWVsd0tq?= =?utf-8?B?ckE1MFVxclRFODFCZUxSQllNMXQ2d1dYY3E4MXd5UGxmVDlDNjV3dGJUa29i?= =?utf-8?Q?taxZPoes+N5u5qK9Bg30hGgFvhFo6/1R4kq+OYt?= x-ms-exchange-transport-forked: True Content-Type: multipart/alternative; boundary="_000_DM4PR11MB543824EB074422075681CA9AB5C49DM4PR11MB5438namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5438.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3ea2fe82-a189-49d7-ad48-08d966209726 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Aug 2021 10:27:20.9312 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: QMaZg3v83FFbh1v/a+X5eMSVYPqqGJT9uNk1T8obPi8m2EAE2nIMECVnfEE7r+9PlNg1BnvwGfYnprEN5WBPwQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3628 X-OriginatorOrg: cisco.com X-Outbound-SMTP-Client: 173.37.102.20, xbe-rcd-005.cisco.com X-Outbound-Node: rcdn-core-1.cisco.com Archived-At: Subject: Re: [netmod] yang-instance-file include-defaults leaf X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2021 10:27:37 -0000 --_000_DM4PR11MB543824EB074422075681CA9AB5C49DM4PR11MB5438namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgQmFsYXpzLCBBbmR5LCBOZXRtb2QsDQoNClNvcnJ5IGZvciB0aGUgZGVsYXllZCByZXNwb25z ZS4gIEkgd291bGQgc3RpbGwgbGlrZSB0byBzdHJlbmd0aCB0aGUgZGVzY3JpcHRpb24gb2YgdGhl IGRlZmF1bHRzLiAgRS5nLiwgUkZDIDYyNDMgdXNlcyBNVVNUcyByYXRoZXIgdGhhbiBTSE9VTERz Lg0KDQpIZW5jZSwgSSBoYXZlIGdlbmVyYXRlZCBzb21lIHByb3Bvc2VkIGFsdGVybmF0aXZlIGRl c2NyaXB0aW9ucywgdGhhdCBhcmUgc29tZXdoYXQgc3RyaWN0ZXIsIGJ1dCBhbHNvIG1vcmUgZ2Vu ZXJpY2FsbHkgZm9jdXNzZWQgb25seSBvbiB0aGUgZGVmYXVsdCB2YWx1ZXMuDQoNCldpdGggdGhl c2UgZGVmaW5pdGlvbnMsIEkgdGhpbmsgdGhhdCB3ZSBjb3VsZCBkZWZpbmUgdGhlIOKAnGluY2x1 ZGUtZGVmYXVsdHPigJ0gZGVmYXVsdCB2YWx1ZSB0byBiZSDigJxleHBsaWNpdOKAnSwgc2luY2Ug aWYgdGhlIGxlYWYgaWYgbm90IGluY2x1ZGVkLCB0aGVuIEkgdGhpbmsgdGhhdCB0aGlzIGVmZmVj dGl2ZWx5IHdoYXQgdGhlIG1lYW5pbmcgd291bGQgYmUgYW55d2F5Lg0KDQoNCkluIHBhcnRpY3Vs YXIsIEkgd291bGQgcHJvcG9zZSBjaGFuZ2luZyB0aGUgZGVzY3JpcHRpb25zIGFzIGZvbGxvd3M6 DQoNCiAgICAgICBsZWFmIGluY2x1ZGVzLWRlZmF1bHRzIHsNCiAgICAgICAgIHR5cGUgZW51bWVy YXRpb24gew0KICAgICAgICAgICBlbnVtIHJlcG9ydC1hbGwgew0KICAgICAgICAgICAgIHZhbHVl IDE7DQogICAgICAgICAgICAgZGVzY3JpcHRpb24NCiAgICAgICAgICAgICAgICJBbGwgZGF0YSBu b2RlcyBTSE9VTEQgYmUgaW5jbHVkZWQgaW5kZXBlbmRlbnQgb2YNCiAgICAgICAgICAgICAgICAg YW55IGRlZmF1bHQgdmFsdWVzLiI7DQogICAgICAgICAgIH0NCiAgICAgICAgICAgZW51bSB0cmlt IHsNCiAgICAgICAgICAgICB2YWx1ZSAyOw0KICAgICAgICAgICAgIGRlc2NyaXB0aW9uDQogICAg ICAgICAgICAgICAiRGF0YSBub2RlcyB0aGF0IGhhdmUgYSBkZWZhdWx0IGRlZmluZWQgYW5kIHdo ZXJlDQogICAgICAgICAgICAgICAgIHRoZSBhY3R1YWwgdmFsdWUgaXMgdGhlIGRlZmF1bHQgdmFs dWUgU0hPVUxEDQogICAgICAgICAgICAgICAgIE5PVCBiZSBpbmNsdWRlZC4iOw0KICAgICAgICAg ICB9DQogICAgICAgICAgIGVudW0gZXhwbGljaXQgew0KICAgICAgICAgICAgIHZhbHVlIDM7DQog ICAgICAgICAgICAgZGVzY3JpcHRpb24NCiAgICAgICAgICAgICAgICJEYXRhIG5vZGVzIHRoYXQg aGF2ZSBhIGRlZmF1bHQgZGVmaW5lZCBhbmQgd2hlcmUNCiAgICAgICAgICAgICAgICAgdGhlIGFj dHVhbCB2YWx1ZSBpcyB0aGUgZGVmYXVsdCB2YWx1ZSBTSE9VTEQgTk9UIGJlDQogICAgICAgICAg ICAgICAgIGluY2x1ZGVkLiBIb3dldmVyLCBpZiB0aGUgYWN0dWFsIHZhbHVlIHdhcyBzZXQgYnkN CiAgICAgICAgICAgICAgICAgYSBORVRDT05GIGNsaWVudCBvciBvdGhlciBtYW5hZ2VtZW50IGFw cGxpY2F0aW9uDQogICAgICAgICAgICAgICAgIGJ5IHRoZSB3YXkgb2YgYW4gZXhwbGljaXQgbWFu YWdlbWVudCBvcGVyYXRpb24gdGhlDQogICAgICAgICAgICAgICAgIGRhdGEgbm9kZSBTSE9VTEQg YmUgaW5jbHVkZWQuIjsNCiAgICAgICAgICAgfQ0KICAgICAgICAgfQ0KDQpQcm9wb3NlZDoNCg0K ICAgICAgIGxlYWYgaW5jbHVkZXMtZGVmYXVsdHMgew0KICAgICAgICAgdHlwZSBlbnVtZXJhdGlv biB7DQogICAgICAgICAgIGVudW0gcmVwb3J0LWFsbCB7DQogICAgICAgICAgICAgdmFsdWUgMTsN CiAgICAgICAgICAgICBkZXNjcmlwdGlvbg0KICAgICAgICAgICAgICAgIlRoZSBpbnN0YW5jZSBk YXRhIHNldCBpbmNsdWRlcyBhbGwgZGF0YSBub2RlcywNCiAgICAgICAgICAgICAgICBpbmNsdWRp bmcgdGhvc2UgdGhhdCBjb250YWluIHRoZSBzY2hlbWEgZGVmYXVsdC7igJ07DQogICAgICAgICAg IH0NCiAgICAgICAgICAgZW51bSB0cmltIHsNCiAgICAgICAgICAgICB2YWx1ZSAyOw0KICAgICAg ICAgICAgIGRlc2NyaXB0aW9uDQogICAgICAgICAgICAgICAiVGhlIGluc3RhbmNlIGRhdGEgc2V0 IGV4Y2x1ZGVzIGFsbCBkYXRhIG5vZGVzDQogICAgICAgICAgICAgICAgdGhhdCBjb250YWluIHRo ZSBzY2hlbWEgZGVmYXVsdC4iOw0KICAgICAgICAgICB9DQogICAgICAgICAgIGVudW0gZXhwbGlj aXQgew0KICAgICAgICAgICAgIHZhbHVlIDM7DQogICAgICAgICAgICAgZGVzY3JpcHRpb24NCiAg ICAgICAgICAgICAgICJUaGUgaW5zdGFuY2UgZGF0YSBzZXQgbWF5IGluY2x1ZGUgc29tZSBkYXRh IG5vZGVzDQogICAgICAgICAgICAgICAgdGhhdCBtYXRjaCB0aGUgc2NoZW1hIGRlZmF1bHQgYW5k IG1heSBleGNsdWRlIHNvbWUNCiAgICAgICAgICAgICAgICBkYXRhIG5vZGVzIHRoYXQgbWF0Y2gg dGhlIHNjaGVtYSBkZWZhdWx0LuKAnTsNCiAgICAgICAgICAgfQ0KICAgICAgICAgfQ0KICAgICAg ICAgZGVzY3JpcHRpb24NCiAgICAgICAgICAgIlRoaXMgbGVhZiBwcm92aWRlcyBhbiBpbmRpY2F0 aW9uIG9mIGhvdyBkZWZhdWx0IGRhdGENCiAgICAgICAgICAgIGlzIHByZXNlbnRlZCB3aXRoaW4g YW4gaW5zdGFuY2UgZGF0YSBzZXQsIG1vZGVsbGVkIG9uDQogICAgICAgICAgICBSRkMgNjI0My4N Cg0KICAgICAgICAgICAgSW50ZXJwcmV0YXRpb24gb2YgdGhlIHVzZSBvZiBkZWZhdWx0cyBkZXBl bmRzIG9uIHRoZQ0KICAgICAgICAgICAgY29udGV4dCBvZiB3aGF0IHRoZSBpbnN0YW5jZSBkYXRh IHNldCByZXByZXNlbnRzLg0KDQogICAgICAgICAgICBFLmcuLCBpZiB0aGUgaW5zdGFuY2UgZGF0 YSBzZXQgcmVwcmVzZW50cyBjb25maWd1cmF0aW9uLA0KICAgICAgICAgICAgVGhlbiBpbmNsdWRl LWRlZmF1bHRzIGFsaWducyB0byB0aGUgbWVhbmluZyBvZiB0aGUNCiAgICAgICAgICAgIGRlZmF1 bHQtaGFuZGxpbmcgYmFzaWMgbW9kZXMgaW4gUkZDIDYyNDMuICBJZiB0aGUNCiAgICAgICAgICAg IGluc3RhbmNlIGRhdGEgc2V0IHJlcHJlc2VudHMgb3BlcmF0aW9uYWwgZGF0YSBmcm9tIHRoZQ0K ICAgICAgICAgICAgb3BlcmF0aW9uYWwgc3RhdGUgZGF0YXN0b3JlIFtSRkMgODM0Ml0sIHRoZW4N CiAgICAgICAgICAgIGluY2x1ZGUtZGVmYXVsdHMgYWxpZ25zIHRvIHRoZSBkZWZpbml0aW9uIG9m IHRoYXQNCiAgICAgICAgICAgIGRhdGFzdG9yZSBpbiBSRkMgODM0Mi7igJ07DQoNCldvdWxkIHRl eHQgYWxvbmcgdGhlc2UgbGluZXMgd29yaz8NCg0KVGhhbmtzLA0KUm9iDQoNCg0KRnJvbTogQmFs w6F6cyBMZW5neWVsIDxiYWxhenMubGVuZ3llbEBlcmljc3Nvbi5jb20+DQpTZW50OiAyOCBKdWx5 IDIwMjEgMjM6MDgNClRvOiBSb2IgV2lsdG9uIChyd2lsdG9uKSA8cndpbHRvbkBjaXNjby5jb20+ OyBBbmR5IEJpZXJtYW4gPGFuZHlAeXVtYXdvcmtzLmNvbT4NCkNjOiBOZXRNb2QgV0cgPG5ldG1v ZEBpZXRmLm9yZz4NClN1YmplY3Q6IFJFOiBbbmV0bW9kXSB5YW5nLWluc3RhbmNlLWZpbGUgaW5j bHVkZS1kZWZhdWx0cyBsZWFmDQoNCkhlbGxvIFJvYiwNClJlbW92aW5nIHRoZSDigJxkZWZhdWx0 IHRyaW074oCdIHdpbGwgYWRkcmVzcyBBbmR54oCZcyBjb21tZW50Lg0KDQpZb3VyIGluLXVzZS12 YWx1ZXMgaXMgdmVyeSBzcGVjaWZpYyB0byBvbmUgb2YgdGhlIHVzZS1jYXNlczogcmVhZGluZy9k b2N1bWVudGluZyBvcGVyYXRpb25hbCB2YWx1ZXMuIEl0IGlzIG5vdCB1c2VmdWwgZm9yIHRoZSBv dGhlciB1c2UtY2FzZXMuIEkgdGhpbmsgdGhlIOKAnGRvY3VtZW50aW5nIG9wZXJhdGlvbmFsIGRh dGFzdG9yZeKAnSB1c2UtY2FzZSBjb3VsZCBiZSBoYW5kbGVkIGJ5IGluZGljYXRpbmcgdGhlIGlu Y2x1ZGVzLWRlZmF1bHRzPXJlcG9ydC1hbGwuIENhc2UgKGkpIHdvdWxkIGNvbnRhaW4gdGhlIHZh bHVlIGNhc2UgKGlpKSB3aWxsIG5vdC4NClJlZ2FyZHMgQmFsYXpzDQoNCkZyb206IFJvYiBXaWx0 b24gKHJ3aWx0b24pIDxyd2lsdG9uQGNpc2NvLmNvbTxtYWlsdG86cndpbHRvbkBjaXNjby5jb20+ Pg0KU2VudDogMjAyMS4gasO6bGl1cyAyNy4sIGtlZGQgMTc6MzgNClRvOiBBbmR5IEJpZXJtYW4g PGFuZHlAeXVtYXdvcmtzLmNvbTxtYWlsdG86YW5keUB5dW1hd29ya3MuY29tPj47IEJhbMOhenMg TGVuZ3llbCA8YmFsYXpzLmxlbmd5ZWxAZXJpY3Nzb24uY29tPG1haWx0bzpiYWxhenMubGVuZ3ll bEBlcmljc3Nvbi5jb20+Pg0KQ2M6IE5ldE1vZCBXRyA8bmV0bW9kQGlldGYub3JnPG1haWx0bzpu ZXRtb2RAaWV0Zi5vcmc+Pg0KU3ViamVjdDogUkU6IFtuZXRtb2RdIHlhbmctaW5zdGFuY2UtZmls ZSBpbmNsdWRlLWRlZmF1bHRzIGxlYWYNCg0KSGkgQW5keSwgQmFsYXpzLA0KDQpTbywgdGhlIHJl YXNvbiB0aGF0IEkgd2FudCBhIGZsYWcgdG8gaW5kaWNhdGUgd2hldGhlciBkZWZhdWx0IHZhbHVl cyBhcmUgaW4gdXNlIGlzIGJlY2F1c2Ugb2YgdGhpcyBkZWZpbml0aW9uIG9mIG9wZXJhdGlvbmFs IGluIFJGQyA4MzQyOg0KDQogICBSZXF1ZXN0cyB0byByZXRyaWV2ZSBub2RlcyBmcm9tIDxvcGVy YXRpb25hbD4gYWx3YXlzIHJldHVybiB0aGUgdmFsdWUNCiAgIGluIHVzZSBpZiB0aGUgbm9kZSBl eGlzdHMsIHJlZ2FyZGxlc3Mgb2YgYW55IGRlZmF1bHQgdmFsdWUgc3BlY2lmaWVkDQogICBpbiB0 aGUgWUFORyBtb2R1bGUuICBJZiBubyB2YWx1ZSBpcyByZXR1cm5lZCBmb3IgYSBnaXZlbiBub2Rl LCB0aGVuDQogICB0aGlzIGltcGxpZXMgdGhhdCB0aGUgbm9kZSBpcyBub3QgdXNlZCBieSB0aGUg ZGV2aWNlLg0KDQpJdCB3YXMgd3JpdHRlbiB0aGlzIHdheSBiZWNhdXNlIG90aGVyd2lzZSBhIGNv bnN1bWVyIG9mIG9wZXJhdGlvbmFsIGRhdGEgY2Fubm90IGRpZmZlcmVudGlhdGUgYmV0d2VlbjoN Cg0KKGkpICAgICAgICAgICAgICAgICAgVGhpcyB2YWx1ZSBpcyBub3QgcHJlc2VudCBiZWNhdXNl IGl0IG1hdGNoZXMgdGhlIGRlZmF1bHQgdmFsdWUgc3BlY2lmaWVkIGluIHRoZSBZQU5HIG1vZHVs ZSwgYW5kDQoNCihpaSkgICAgICAgICAgICAgICAgVGhpcyB2YWx1ZSBpcyBub3QgcHJlc2VudCBi ZWNhdXNlIHRoZSBzZXJ2ZXIgaGFzIGZhaWxlZCB0byByZXR1cm4gaXQgZm9yIHNvbWUgcmVhc29u IChlLmcuLCBwZXJoYXBzIHRoZSBkYWVtb24gdGhhdCB3b3VsZCBoYXZlIHByb3ZpZGVkIHRoaXMg dmFsdWUgaXMgZG93biBvciBub3QgYXZhaWxhYmxlLCBvciBwZXJoYXBzIGl0IGlzIGEgYnVnLCBv ciBwZXJoYXBzIGl0IGlzIG5vdCBpbXBsZW1lbnRlZCBhbmQgaXMgYSBtaXNzaW5nIGRldmlhdGlv bikuDQoNClNvLCBJIHRoaW5rIHRoYXQgaW4gc29tZSBjYXNlcywgdGhlIGFic2VuY2Ugb2YgYSBk YXRhIG5vZGUgZG9lcyBub3QgbmVjZXNzYXJpbHkgbWVhbiB0aGF0IHRoZSBkZWZhdWx0IHZhbHVl IGlzIGluIGVmZmVjdCwgYW5kIEkgd2FudGVkIHRoZSBpbnN0YW5jZS1kYXRhIGRvY3VtZW50IHRv IGJlIGFibGUgdG8gY29udGFpbiBhbmQgY29ycmVjdGx5IHJlcG9ydCB0aGlzIGRhdGEuDQoNCkkg dGhpbmsgdGhhdCB0aGlzIGJlaGF2aW91ciBjb3VsZCBiZSBjYXB0dXJlZCBieSBhIHNpbmdsZSBs ZWFmLiAgQW5vdGhlciB3YXkgb2YgYXJ0aWN1bGF0aW5nIHRoaXMgd291bGQgYmU6DQoNCmxlYWYg aW4tdXNlLXZhbHVlcyB7DQogIHR5cGUgYm9vbGVhbjsNCiAgZGVmYXVsdCBmYWxzZTsNCiAgZGVz Y3JpcHRpb24NCiAgICDigJxPbmx5IGlmIHNldCB0byB0cnVlLCB0aGUgYWJzZW5jZSBvZiBhIHZh bHVlIGluIHRoZQ0KICAgICBpbnN0YW5jZSBkYXRhIGZvciBhIGdpdmVuIGRhdGEgbm9kZSBpbXBs aWVzIHRoYXQgdGhlDQogICAgbm9kZSBpcyBub3QgdXNlZCByYXRoZXIgdGhhbiBpbXBsaWNpdGx5 IHRha2luZyB0aGUNCiAgICAgZGVmYXVsdCB2YWx1ZSBzcGVjaWZpZWQgYnkgYW55IGNvcnJlc3Bv bmRpbmcNCiAgICDigJhkZWZhdWx04oCZIHN0YXRlbWVudCBzcGVjaWZpZWQgaW4gdGhlIFlBTkcg c2NoZW1hLuKAnTsNCn0NCg0KV2l0aCB0aGlzLCBJ4oCZbSBub3Qgc3VyZSB3aGV0aGVyIHdlIG5l ZWQgdGhlIOKAnGluY2x1ZGVzLWRlZmF1bHTigJ0gbGVhZiBjdXJyZW50bHkgc3BlY2lmaWVkIGlu IHRoZSBkcmFmdCwgYnV0IGlmIHdlIGRvLCB0aGVuIEkgd291bGQgdGhpbmsgdGhhdCBsZWFmIHNo b3VsZCBiZSBlbnRpcmVseSBvcHRpb25hbCwgaS5lLiwgd2l0aG91dCB0aGUgZGVmYXVsdCDigJx0 cmlt4oCdLg0KDQpSZWdhcmRzLA0KUm9iDQoNCg0KRnJvbTogQW5keSBCaWVybWFuIDxhbmR5QHl1 bWF3b3Jrcy5jb208bWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbT4+DQpTZW50OiAxMCBKdWx5IDIw MjEgMTc6NDENClRvOiBSb2IgV2lsdG9uIChyd2lsdG9uKSA8cndpbHRvbkBjaXNjby5jb208bWFp bHRvOnJ3aWx0b25AY2lzY28uY29tPj4NCkNjOiBOZXRNb2QgV0cgPG5ldG1vZEBpZXRmLm9yZzxt YWlsdG86bmV0bW9kQGlldGYub3JnPj47IEJhbMOhenMgTGVuZ3llbCA8YmFsYXpzLmxlbmd5ZWxA ZXJpY3Nzb24uY29tPG1haWx0bzpiYWxhenMubGVuZ3llbEBlcmljc3Nvbi5jb20+Pg0KU3ViamVj dDogUmU6IFtuZXRtb2RdIHlhbmctaW5zdGFuY2UtZmlsZSBpbmNsdWRlLWRlZmF1bHRzIGxlYWYN Cg0KDQoNCk9uIEZyaSwgSnVsIDksIDIwMjEgYXQgNToyMyBBTSBSb2IgV2lsdG9uIChyd2lsdG9u KSA8cndpbHRvbkBjaXNjby5jb208bWFpbHRvOnJ3aWx0b25AY2lzY28uY29tPj4gd3JvdGU6DQpB bmR5LA0KDQpZZXMsIHdoZW4gSSBzdWdnZXN0ZWQgdGhpcywgSSB3YXMgdGhpbmtpbmcgdGhhdCBh IGJvb2xlYW4gZmxhZyBtaWdodCBiZSBzdWZmaWNpZW50LiAgTXkgcG9pbnQgYmVpbmcgdGhhdCBh dXRvbWF0aWNhbGx5IGZpbHRlcmluZyBvdXQgZGVmYXVsdCB2YWx1ZXMgaXNu4oCZdCBhbHdheXMg dGhlIHJpZ2h0IHRoaW5nIHRvIGRvLg0KDQoNCg0KVGhlIHNvbHV0aW9uIGlzIHNpbXBsZS4NCkdl dCByaWQgb2YgdGhlIGluYXBwcm9wcmlhdGUgImRlZmF1bHQgdHJpbSIgc3RhdGVtZW50Lg0KDQpJ ZiB0aGUgbGVhZiBpcyBwcmVzZW50IHRoZW4gaXQgaWRlbnRpZmllcyB0aGUgYmFzaWMtbW9kZSB0 aGF0IHdhcyB1c2VkIHRvIGluY2x1ZGUgZGVmYXVsdHMuDQpJZiBub3QgdGhlbiB0aGUgaW5mb3Jt YXRpb24gaXMgZWl0aGVyIG5vdCBrbm93biwgbm90IGFwcGxpY2FibGUsIG9yIGRlZmF1bHRzIHdl cmUgbm90IGFkZGVkLg0KDQpUaGUgImRlZmF1bHQiIHN0YXRlbWVudCBpcyBhIGJ1ZyBiZWNhdXNl IHRoZXJlIGlzIG5vIGRlZmF1bHQgYmFzaWMtbW9kZS4NCkFsbCBvZiB0aGUgYmFzaWMtbW9kZXMg YXJlIGluIHVzZSBpbiBkZXBsb3ltZW50cyBhbmQgbm8gY2FtcCBoYXMgZXZlcg0KYmVlbiBhYmxl IHRvIGNvbnZpbmNlIHRoZSBvdGhlcnMgdGhhdCB0aGVpcnMgaXMgcmlnaHQuDQoNCg0KQW5keQ0K DQpFLmcuLCBzb21ldGhpbmcgYWxvbmcgdGhlc2UgbGluZXM6DQoNCmxlYWYgZXhjbHVkZS1kZWZh dWx0cyB7DQogIHR5cGUgYm9vbGVhbjsNCiAgZGVmYXVsdCB0cnVlOw0KICBkZXNjcmlwdGlvbg0K ICAgIOKAnENhbiBiZSB1c2VkIHRvIHJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgY29udGVudCBkYXRh IGZpbGUuDQoNCiAgICAgIFdoZW4gdW5zZXQgb3Igc2V0IHRvIHRydWUsIGRhdGEgbm9kZXMgdGhh dCBoYXZlIGEgZGVmYXVsdCBkZWZpbmVkIGFuZA0KICAgICAgd2hlcmUgdGhlIGFjdHVhbCB2YWx1 ZSBpcyB0aGUgZGVmYXVsdCB2YWx1ZSBhcmUgZXhjbHVkZWQgZnJvbSB0aGUgY29udGVudA0KICAg ICAgZGF0YS4NCg0KICAgICAgV2hlbiBzZXQgdG8gZmFsc2UsIGRhdGEgbm9kZXMgd2l0aCBkZWZh dWx0IHZhbHVlIGFyZSBub3QgZmlsdGVyZWQsIGFuZA0KICAgICAgbWF5IGFwcGVhciBpbiB0aGUg Y29udGVudCBkYXRhLuKAnQ0KfQ0KDQpXb3VsZCB0aGlzIHNhdGlzZnkgeW91ciBjb25jZXJuPw0K DQpSZWdhcmRzLA0KUm9iDQoNCg0KRnJvbTogbmV0bW9kIDxuZXRtb2QtYm91bmNlc0BpZXRmLm9y ZzxtYWlsdG86bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmc+PiBPbiBCZWhhbGYgT2YgQW5keSBCaWVy bWFuDQpTZW50OiAwOCBKdWx5IDIwMjEgMTg6MTYNClRvOiBOZXRNb2QgV0cgPG5ldG1vZEBpZXRm Lm9yZzxtYWlsdG86bmV0bW9kQGlldGYub3JnPj4NClN1YmplY3Q6IFtuZXRtb2RdIHlhbmctaW5z dGFuY2UtZmlsZSBpbmNsdWRlLWRlZmF1bHRzIGxlYWYNCg0KSGksDQoNClRoZSBtb2R1bGUgaGFz IHRoaXMgb2JqZWN0Og0KDQoNCiAgICBsZWFmIGluY2x1ZGVzLWRlZmF1bHRzIHsNCg0KICAgICAg IHR5cGUgZW51bWVyYXRpb24gew0KDQogICAgICAgICBlbnVtIHJlcG9ydC1hbGwgew0KDQogICAg ICAgICAgIHZhbHVlIDE7DQoNCiAgICAgICAgICAgZGVzY3JpcHRpb24NCg0KICAgICAgICAgICAg ICJBbGwgZGF0YSBub2RlcyBTSE9VTEQgYmUgaW5jbHVkZWQgaW5kZXBlbmRlbnQgb2YNCg0KICAg ICAgICAgICAgICAgYW55IGRlZmF1bHQgdmFsdWVzLiI7DQoNCiAgICAgICAgIH0NCg0KICAgICAg ICAgZW51bSB0cmltIHsNCg0KICAgICAgICAgICB2YWx1ZSAyOw0KDQogICAgICAgICAgIGRlc2Ny aXB0aW9uDQoNCiAgICAgICAgICAgICAiRGF0YSBub2RlcyB0aGF0IGhhdmUgYSBkZWZhdWx0IGRl ZmluZWQgYW5kIHdoZXJlDQoNCiAgICAgICAgICAgICAgIHRoZSBhY3R1YWwgdmFsdWUgaXMgdGhl IGRlZmF1bHQgdmFsdWUgU0hPVUxEDQoNCiAgICAgICAgICAgICAgIE5PVCBiZSBpbmNsdWRlZC4i Ow0KDQogICAgICAgICB9DQoNCiAgICAgICAgIGVudW0gZXhwbGljaXQgew0KDQogICAgICAgICAg IHZhbHVlIDM7DQoNCiAgICAgICAgICAgZGVzY3JpcHRpb24NCg0KICAgICAgICAgICAgICJEYXRh IG5vZGVzIHRoYXQgaGF2ZSBhIGRlZmF1bHQgZGVmaW5lZCBhbmQgd2hlcmUNCg0KICAgICAgICAg ICAgICAgdGhlIGFjdHVhbCB2YWx1ZSBpcyB0aGUgZGVmYXVsdCB2YWx1ZSBTSE9VTEQgTk9UIGJl DQoNCiAgICAgICAgICAgICAgIGluY2x1ZGVkLiBIb3dldmVyLCBpZiB0aGUgYWN0dWFsIHZhbHVl IHdhcyBzZXQgYnkNCg0KICAgICAgICAgICAgICAgYSBORVRDT05GIGNsaWVudCBvciBvdGhlciBt YW5hZ2VtZW50IGFwcGxpY2F0aW9uDQoNCiAgICAgICAgICAgICAgIGJ5IHRoZSB3YXkgb2YgYW4g ZXhwbGljaXQgbWFuYWdlbWVudCBvcGVyYXRpb24gdGhlDQoNCiAgICAgICAgICAgICAgIGRhdGEg bm9kZSBTSE9VTEQgYmUgaW5jbHVkZWQuIjsNCg0KICAgICAgICAgfQ0KDQogICAgICAgfQ0KDQog ICAgICAgZGVmYXVsdCB0cmltOw0KDQoNClRoZSBkcmFmdCBpcyBleHRyZW1lbHkgc2VydmVyLWNl bnRyaWMsIGxpa2UgbW9zdCBJRVRGIHN0YW5kYXJkcywgYnV0IHRoaXMNCmxlYWYgaXMgdG9vIHNl cnZlci1jZW50cmljIHRvIGlnbm9yZS4NCg0KQ29uc2lkZXIgdGhlIHBvc3NpYmlsaXR5IHRoYXQg dGhlIHNvdXJjZSBvZiB0aGUgZmlsZSBpcyBOT1QgYSBORVRDT05GIHNlcnZlci4NClRoaXMgZGF0 YSBtYXkgbm90IGJlIGtub3duIHNvIHRoZSBkZWZhdWx0IG9mICJ0cmltIiBtYXkgbm90IGJlIGNv cnJlY3QuDQoNCklNTyB0aGlzIGxlYWYgaXMgbm9pc2UgYmVjYXVzZSBhbnkgdG9vbCB0aGF0IGtu b3dzIHRoZSBzY2hlbWEgd2lsbCBhbHNvDQprbm93IHRoZSBZQU5HIGRlZmF1bHRzLiAgVGhlIHNv bHV0aW9uIGlzIGluY29tcGxldGUgYW55d2F5IGJlY2F1c2UNCnRoZSBwcmVzZW5jZSBvZiBhIGxl YWYgdGhhdCBoYXMgYSBZQU5HIGRlZmF1bHQgaXMgbm90IGVub3VnaC4NClRoZSAgInJlcG9ydC1h bGwtdGFnZ2VkIiBtb2RlIG11c3QgYmUgdXNlZCB0byBpZGVudGlmeSBkZWZhdWx0cy4NCklNTyB0 aGlzIGxlYWYgc2hvdWxkIGJlIHJlbW92ZWQsIGJ1dCBhdCBsZWFzdCBhZGQgYW4gZW51bSBjYWxs ZWQgInVua25vd24iLg0KDQoNCkFuZHkNCg0KDQo= --_000_DM4PR11MB543824EB074422075681CA9AB5C49DM4PR11MB5438namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy IDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDb25zb2xhczsNCglwYW5vc2UtMToyIDEx IDYgOSAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWws IGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0KCWZvbnQtc2l6ZTox MS4wcHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7fQ0KYTpsaW5rLCBzcGFu Lk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0 ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnByZQ0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7 DQoJbXNvLXN0eWxlLWxpbms6IkhUTUwgUHJlZm9ybWF0dGVkIENoYXIiOw0KCW1hcmdpbjowY207 DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1p bHk6IkNvdXJpZXIgTmV3Ijt9DQpwLk1zb0xpc3RQYXJhZ3JhcGgsIGxpLk1zb0xpc3RQYXJhZ3Jh cGgsIGRpdi5Nc29MaXN0UGFyYWdyYXBoDQoJe21zby1zdHlsZS1wcmlvcml0eTozNDsNCgltYXJn aW4tdG9wOjBjbTsNCgltYXJnaW4tcmlnaHQ6MGNtOw0KCW1hcmdpbi1ib3R0b206MGNtOw0KCW1h cmdpbi1sZWZ0OjM2LjBwdDsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxp YnJpIixzYW5zLXNlcmlmO30NCnNwYW4uSFRNTFByZWZvcm1hdHRlZENoYXINCgl7bXNvLXN0eWxl LW5hbWU6IkhUTUwgUHJlZm9ybWF0dGVkIENoYXIiOw0KCW1zby1zdHlsZS1wcmlvcml0eTo5OTsN Cgltc28tc3R5bGUtbGluazoiSFRNTCBQcmVmb3JtYXR0ZWQiOw0KCWZvbnQtZmFtaWx5OkNvbnNv bGFzOw0KCW1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLUdCO30NCnNwYW4uRW1haWxTdHlsZTIzDQoJ e21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixz YW5zLXNlcmlmOw0KCWNvbG9yOndpbmRvd3RleHQ7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0 eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1zaXplOjEwLjBwdDt9DQpAcGFnZSBXb3JkU2Vj dGlvbjENCgl7c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7DQoJbWFyZ2luOjcyLjBwdCA3Mi4wcHQgNzIu MHB0IDcyLjBwdDt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rpb24xO30NCi8q IExpc3QgRGVmaW5pdGlvbnMgKi8NCkBsaXN0IGwwDQoJe21zby1saXN0LWlkOjQzMDA1NTQyNTsN Cgltc28tbGlzdC10eXBlOmh5YnJpZDsNCgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6LTM3MjQ1ODUw MCAtNDMyNDkzODE2IDEzNDgwNzU3NyAxMzQ4MDc1NzkgMTM0ODA3NTY3IDEzNDgwNzU3NyAxMzQ4 MDc1NzkgMTM0ODA3NTY3IDEzNDgwNzU3NyAxMzQ4MDc1Nzk7fQ0KQGxpc3QgbDA6bGV2ZWwxDQoJ e21zby1sZXZlbC1udW1iZXItZm9ybWF0OnJvbWFuLWxvd2VyOw0KCW1zby1sZXZlbC10ZXh0OiJc KCUxXCkiOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9z aXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDo1NC4wcHQ7DQoJdGV4dC1pbmRlbnQ6LTM2LjBwdDt9 DQpAbGlzdCBsMDpsZXZlbDINCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93ZXI7 DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjps ZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7fQ0KQGxpc3QgbDA6bGV2ZWwzDQoJe21zby1sZXZl bC1udW1iZXItZm9ybWF0OnJvbWFuLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0K CW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246cmlnaHQ7DQoJdGV4dC1pbmRlbnQ6LTkuMHB0O30N CkBsaXN0IGwwOmxldmVsNA0KCXttc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwt bnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDt9DQpAbGlzdCBsMDps ZXZlbDUNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93ZXI7DQoJbXNvLWxldmVs LXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQt aW5kZW50Oi0xOC4wcHQ7fQ0KQGxpc3QgbDA6bGV2ZWw2DQoJe21zby1sZXZlbC1udW1iZXItZm9y bWF0OnJvbWFuLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1u dW1iZXItcG9zaXRpb246cmlnaHQ7DQoJdGV4dC1pbmRlbnQ6LTkuMHB0O30NCkBsaXN0IGwwOmxl dmVsNw0KCXttc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0 aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDgNCgl7bXNv LWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5v bmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4w cHQ7fQ0KQGxpc3QgbDA6bGV2ZWw5DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OnJvbWFuLWxv d2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRp b246cmlnaHQ7DQoJdGV4dC1pbmRlbnQ6LTkuMHB0O30NCm9sDQoJe21hcmdpbi1ib3R0b206MGNt O30NCnVsDQoJe21hcmdpbi1ib3R0b206MGNtO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNv IDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAv Pg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxh eW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwv bzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVO LUdCIiBsaW5rPSJibHVlIiB2bGluaz0icHVycGxlIiBzdHlsZT0id29yZC13cmFwOmJyZWFrLXdv cmQiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+SGkgQmFsYXpzLCBBbmR5LCBO ZXRtb2QsPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g c3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFu Z3VhZ2U6RU4tVVMiPlNvcnJ5IGZvciB0aGUgZGVsYXllZCByZXNwb25zZS4mbmJzcDsgSSB3b3Vs ZCBzdGlsbCBsaWtlIHRvIHN0cmVuZ3RoIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgZGVmYXVsdHMu Jm5ic3A7IEUuZy4sIFJGQyA2MjQzIHVzZXMgTVVTVHMgcmF0aGVyIHRoYW4gU0hPVUxEcy48bzpw PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNv LWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1V UyI+SGVuY2UsIEkgaGF2ZSBnZW5lcmF0ZWQgc29tZSBwcm9wb3NlZCBhbHRlcm5hdGl2ZSBkZXNj cmlwdGlvbnMsIHRoYXQgYXJlIHNvbWV3aGF0IHN0cmljdGVyLCBidXQgYWxzbyBtb3JlIGdlbmVy aWNhbGx5IGZvY3Vzc2VkIG9ubHkgb24gdGhlIGRlZmF1bHQgdmFsdWVzLjxvOnA+PC9vOnA+PC9z cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1s YW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5XaXRoIHRo ZXNlIGRlZmluaXRpb25zLCBJIHRoaW5rIHRoYXQgd2UgY291bGQgZGVmaW5lIHRoZSDigJxpbmNs dWRlLWRlZmF1bHRz4oCdIGRlZmF1bHQgdmFsdWUgdG8gYmUg4oCcZXhwbGljaXTigJ0sIHNpbmNl IGlmIHRoZSBsZWFmIGlmIG5vdCBpbmNsdWRlZCwgdGhlbiBJIHRoaW5rIHRoYXQgdGhpcyBlZmZl Y3RpdmVseSB3aGF0IHRoZSBtZWFuaW5nDQogd291bGQgYmUgYW55d2F5LjxvOnA+PC9vOnA+PC9z cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1s YW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj48bzpwPiZu YnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPkluIHBhcnRpY3VsYXIsIEkgd291bGQgcHJvcG9z ZSBjaGFuZ2luZyB0aGUgZGVzY3JpcHRpb25zIGFzIGZvbGxvd3M6PG86cD48L286cD48L3NwYW4+ PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1 YWdlOkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3Vy aWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGxlYWYgaW5jbHVkZXMtZGVmYXVsdHMgezxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFt aWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgdHlwZSBlbnVtZXJhdGlvbiB7PG86cD48 L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6Ymxh Y2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBlbnVtIHJlcG9ydC1hbGwgezxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZx dW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgdmFsdWUg MTs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztj b2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRlc2NyaXB0aW9uPG86cD48L286cD48L3NwYW4+ PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7 Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyAmcXVvdDtBbGwgZGF0YSBub2RlcyBTSE9VTEQgYmUgaW5jbHVk ZWQgaW5kZXBlbmRlbnQgb2Y8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3Vy aWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IGFueSBkZWZhdWx0IHZhbHVlcy4mcXVvdDs7PG86cD48L286cD48L3NwYW4+PC9w Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9u dC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PG86cD48 L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6Ymxh Y2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBlbnVtIHRyaW0gezxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nv dXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgdmFsdWUgMjs8bzpw PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u dC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpi bGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRlc2NyaXB0aW9uPG86cD48L286cD48L3NwYW4+PC9wPg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m YW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAmcXVvdDtEYXRhIG5vZGVzIHRoYXQgaGF2ZSBhIGRlZmF1bHQgZGVmaW5l ZCBhbmQgd2hlcmU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5l dyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IHRoZSBhY3R1YWwgdmFsdWUgaXMgdGhlIGRlZmF1bHQgdmFsdWUgU0hPVUxEPG86cD48L286 cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2si PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBOT1QgYmUgaW5jbHVkZWQu JnF1b3Q7OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1 b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90 O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZW51bSBleHBsaWNpdCB7PG86cD48 L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6Ymxh Y2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyB2YWx1ZSAzOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5 OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGVz Y3JpcHRpb248bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh biBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZx dW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZxdW90O0RhdGEg bm9kZXMgdGhhdCBoYXZlIGEgZGVmYXVsdCBkZWZpbmVkIGFuZCB3aGVyZTxvOnA+PC9vOnA+PC9z cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAu MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgdGhlIGFjdHVhbCB2YWx1ZSBpcyB0 aGUgZGVmYXVsdCB2YWx1ZSBTSE9VTEQgTk9UIGJlPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p bHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpbmNsdWRlZC4gSG93ZXZlciwgaWYgdGhlIGFjdHVhbCB2 YWx1ZSB3YXMgc2V0IGJ5PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmll ciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBhIE5FVENPTkYgY2xpZW50IG9yIG90aGVyIG1hbmFnZW1lbnQgYXBwbGljYXRpb248 bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xv cjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGJ5IHRoZSB3 YXkgb2YgYW4gZXhwbGljaXQgbWFuYWdlbWVudCBvcGVyYXRpb24gdGhlPG86cD48L286cD48L3Nw YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4w cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkYXRhIG5vZGUgU0hPVUxEIGJlIGlu Y2x1ZGVkLiZxdW90Ozs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVy IE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWls eTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZh bWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7ICZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+UHJvcG9zZWQ6PG86 cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1z by1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZh bWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGxlYWYgaW5jbHVkZXMtZGVmYXVsdHMgezxvOnA+PC9vOnA+ PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgdHlwZSBlbnVt ZXJhdGlvbiB7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw YW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcm cXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBlbnVtIHJlcG9ydC1hbGwgezxvOnA+PC9vOnA+PC9zcGFu PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0 O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgdmFsdWUgMTs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3Vy aWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRlc2NyaXB0aW9uPG86 cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZv bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6 YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmcXVvdDtUaGUgaW5zdGFuY2UgZGF0 YSBzZXQgaW5jbHVkZXMgYWxsIGRhdGEgbm9kZXMsPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p bHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBpbmNsdWRpbmcgdGhvc2UgdGhhdCBjb250YWluIHRoZSBzY2hlbWEg ZGVmYXVsdC7igJ07PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBO ZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6 JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBlbnVtIHRyaW0gezxvOnA+ PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250 LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJs YWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgdmFsdWUgMjs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWls eTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRl c2NyaXB0aW9uPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw YW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcm cXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmcXVvdDtUaGUg aW5zdGFuY2UgZGF0YSBzZXQgZXhjbHVkZXMgYWxsIGRhdGEgbm9kZXM8bzpwPjwvbzpwPjwvc3Bh bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBw dDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHRoYXQgY29udGFpbiB0aGUgc2NoZW1hIGRlZmF1 bHQuJnF1b3Q7OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3 JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZx dW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZW51bSBleHBsaWNpdCB7PG86 cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZv bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6 YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB2YWx1ZSAzOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFt aWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg ZGVzY3JpcHRpb248bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5l dyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZxdW90O1Ro ZSBpbnN0YW5jZSBkYXRhIHNldCBtYXkgaW5jbHVkZSBzb21lIGRhdGEgbm9kZXM8bzpwPjwvbzpw Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl OjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+ Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHRoYXQgbWF0Y2ggdGhlIHNjaGVtYSBk ZWZhdWx0IGFuZCBtYXkgZXhjbHVkZSBzb21lPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6 JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBkYXRhIG5vZGVzIHRoYXQgbWF0Y2ggdGhlIHNjaGVtYSBkZWZhdWx0LuKA nTs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztj b2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IH08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3Vy aWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtD b3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRlc2NyaXB0aW9uPG86cD48L286cD48L3NwYW4+PC9wPg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m YW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmcXVvdDtUaGlz IGxlYWYgcHJvdmlkZXMgYW4gaW5kaWNhdGlvbiBvZiBob3cgZGVmYXVsdCBkYXRhPG86cD48L286 cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2si PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBpcyBwcmVzZW50ZWQgd2l0aGluIGFuIGluc3RhbmNlIGRhdGEgc2V0LCBtb2Rl bGxlZCBvbjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1 b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUkZDIDYyNDMuPG86cD48L286cD48L3NwYW4+PC9w Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9u dC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPjxvOnA+Jm5ic3A7 PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250 LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJs YWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgSW50ZXJwcmV0YXRpb24gb2YgdGhlIHVzZSBvZiBkZWZhdWx0cyBkZXBl bmRzIG9uIHRoZTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3 JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgY29udGV4dCBvZiB3aGF0IHRoZSBpbnN0YW5j ZSBkYXRhIHNldCByZXByZXNlbnRzLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90 O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48 L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtm b250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IEUuZy4sIGlmIHRoZSBpbnN0YW5jZSBkYXRhIHNldCByZXByZXNlbnRzIGNvbmZpZ3VyYXRpb24s PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29s b3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBUaGVuIGluY2x1ZGUtZGVmYXVsdHMgYWxpZ25zIHRvIHRoZSBt ZWFuaW5nIG9mIHRoZTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIg TmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGVmYXVsdC1oYW5kbGluZyBiYXNpYyBt b2RlcyBpbiBSRkMgNjI0My4mbmJzcDsgSWYgdGhlPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p bHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpbnN0YW5j ZSBkYXRhIHNldCByZXByZXNlbnRzIG9wZXJhdGlvbmFsIGRhdGEgZnJvbSB0aGUNCjxvOnA+PC9v OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp emU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNr Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtvcGVyYXRpb25hbCBzdGF0ZSBkYXRhc3RvcmUgW1JGQyA4MzQyXSwg dGhlbjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0 eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7 O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaW5jbHVkZS1kZWZhdWx0cyBhbGlnbnMgdG8gdGhlIGRl ZmluaXRpb24gb2YgdGhhdDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJp ZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGF0YXN0b3JlIGluIFJGQyA4MzQy LuKAnTs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz dHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFu PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5n dWFnZTpFTi1VUyI+V291bGQgdGV4dCBhbG9uZyB0aGVzZSBsaW5lcyB3b3JrPzxvOnA+PC9vOnA+ PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFz dC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5UaGFu a3MsPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5 bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5Sb2I8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6 RU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi PjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286 cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6 c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBjbSAwY20gMGNtIj4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxiPjxzcGFuIGxhbmc9IkVO LVVTIj5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiPiBCYWzDoXpzIExlbmd5ZWwg Jmx0O2JhbGF6cy5sZW5neWVsQGVyaWNzc29uLmNvbSZndDsNCjxicj4NCjxiPlNlbnQ6PC9iPiAy OCBKdWx5IDIwMjEgMjM6MDg8YnI+DQo8Yj5Ubzo8L2I+IFJvYiBXaWx0b24gKHJ3aWx0b24pICZs dDtyd2lsdG9uQGNpc2NvLmNvbSZndDs7IEFuZHkgQmllcm1hbiAmbHQ7YW5keUB5dW1hd29ya3Mu Y29tJmd0Ozxicj4NCjxiPkNjOjwvYj4gTmV0TW9kIFdHICZsdDtuZXRtb2RAaWV0Zi5vcmcmZ3Q7 PGJyPg0KPGI+U3ViamVjdDo8L2I+IFJFOiBbbmV0bW9kXSB5YW5nLWluc3RhbmNlLWZpbGUgaW5j bHVkZS1kZWZhdWx0cyBsZWFmPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxvOnA+Jm5i c3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2 LjBwdCI+PHNwYW4gbGFuZz0iRU4tVVMiPkhlbGxvIFJvYiw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij48c3BhbiBs YW5nPSJFTi1VUyI+UmVtb3ZpbmcgdGhlIOKAnGRlZmF1bHQgdHJpbTvigJ0gd2lsbCBhZGRyZXNz IEFuZHnigJlzIGNvbW1lbnQuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v cm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+ Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJn aW4tbGVmdDozNi4wcHQiPjxzcGFuIGxhbmc9IkVOLVVTIj5Zb3VyIDxpPmluLXVzZS12YWx1ZXM8 L2k+IGlzIHZlcnkgc3BlY2lmaWMgdG8gb25lIG9mIHRoZSB1c2UtY2FzZXM6IHJlYWRpbmcvZG9j dW1lbnRpbmcgb3BlcmF0aW9uYWwgdmFsdWVzLiBJdCBpcyBub3QgdXNlZnVsIGZvciB0aGUgb3Ro ZXIgdXNlLWNhc2VzLiBJIHRoaW5rIHRoZSDigJxkb2N1bWVudGluZyBvcGVyYXRpb25hbCBkYXRh c3RvcmXigJ0NCiB1c2UtY2FzZSBjb3VsZCBiZSBoYW5kbGVkIGJ5IGluZGljYXRpbmcgdGhlIDxp PmluY2x1ZGVzLWRlZmF1bHRzPXJlcG9ydC1hbGw8L2k+LiBDYXNlIChpKSB3b3VsZCBjb250YWlu IHRoZSB2YWx1ZSBjYXNlIChpaSkgd2lsbCBub3QuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PHNwYW4gbGFuZz0i RU4tVVMiPlJlZ2FyZHMgQmFsYXpzPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxv OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9u ZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwY20gMGNtIDBj bSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij48Yj48 c3BhbiBsYW5nPSJFTi1VUyI+RnJvbTo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gUm9i IFdpbHRvbiAocndpbHRvbikgJmx0OzxhIGhyZWY9Im1haWx0bzpyd2lsdG9uQGNpc2NvLmNvbSI+ cndpbHRvbkBjaXNjby5jb208L2E+Jmd0Ow0KPGJyPg0KPGI+U2VudDo8L2I+IDIwMjEuIGrDumxp dXMgMjcuLCBrZWRkIDE3OjM4PGJyPg0KPGI+VG86PC9iPiBBbmR5IEJpZXJtYW4gJmx0OzxhIGhy ZWY9Im1haWx0bzphbmR5QHl1bWF3b3Jrcy5jb20iPmFuZHlAeXVtYXdvcmtzLmNvbTwvYT4mZ3Q7 OyBCYWzDoXpzIExlbmd5ZWwgJmx0OzxhIGhyZWY9Im1haWx0bzpiYWxhenMubGVuZ3llbEBlcmlj c3Nvbi5jb20iPmJhbGF6cy5sZW5neWVsQGVyaWNzc29uLmNvbTwvYT4mZ3Q7PGJyPg0KPGI+Q2M6 PC9iPiBOZXRNb2QgV0cgJmx0OzxhIGhyZWY9Im1haWx0bzpuZXRtb2RAaWV0Zi5vcmciPm5ldG1v ZEBpZXRmLm9yZzwvYT4mZ3Q7PGJyPg0KPGI+U3ViamVjdDo8L2I+IFJFOiBbbmV0bW9kXSB5YW5n LWluc3RhbmNlLWZpbGUgaW5jbHVkZS1kZWZhdWx0cyBsZWFmPG86cD48L286cD48L3NwYW4+PC9w Pg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVm dDozNi4wcHQiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij5IaSBBbmR5 LCBCYWxhenMsPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFy Z2luLWxlZnQ6MzYuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPlNvLCB0aGUgcmVhc29uIHRoYXQgSSB3YW50 IGEgZmxhZyB0byBpbmRpY2F0ZSB3aGV0aGVyIGRlZmF1bHQgdmFsdWVzIGFyZSBpbiB1c2UgaXMg YmVjYXVzZSBvZiB0aGlzIGRlZmluaXRpb24gb2Ygb3BlcmF0aW9uYWwgaW4gUkZDIDgzNDI6PG86 cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYu MHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt YXJnaW4tbGVmdDozNi4wcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFt aWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsgUmVx dWVzdHMgdG8gcmV0cmlldmUgbm9kZXMgZnJvbSAmbHQ7b3BlcmF0aW9uYWwmZ3Q7IGFsd2F5cyBy ZXR1cm4gdGhlIHZhbHVlPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4w cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNw OyZuYnNwOyBpbiB1c2UgaWYgdGhlIG5vZGUgZXhpc3RzLCByZWdhcmRsZXNzIG9mIGFueSBkZWZh dWx0IHZhbHVlIHNwZWNpZmllZDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O b3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4m bmJzcDsmbmJzcDsgaW4gdGhlIFlBTkcgbW9kdWxlLiZuYnNwOyBJZiBubyB2YWx1ZSBpcyByZXR1 cm5lZCBmb3IgYSBnaXZlbiBub2RlLCB0aGVuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PHNwYW4gc3R5bGU9ImZv bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6 YmxhY2siPiZuYnNwOyZuYnNwOyB0aGlzIGltcGxpZXMgdGhhdCB0aGUgbm9kZSBpcyBub3QgdXNl ZCBieSB0aGUgZGV2aWNlLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+SXQgd2FzIHdyaXR0 ZW4gdGhpcyB3YXkgYmVjYXVzZSBvdGhlcndpc2UgYSBjb25zdW1lciBvZiBvcGVyYXRpb25hbCBk YXRhIGNhbm5vdCBkaWZmZXJlbnRpYXRlIGJldHdlZW46PG86cD48L286cD48L3A+DQo8cCBjbGFz cz0iTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjkwLjBwdDt0ZXh0LWluZGVu dDotMzYuMHB0O21zby1saXN0OmwwIGxldmVsMSBsZm8yIj4NCjwhW2lmICFzdXBwb3J0TGlzdHNd PjxzcGFuIHN0eWxlPSJtc28tbGlzdDpJZ25vcmUiPihpKTxzcGFuIHN0eWxlPSJmb250OjcuMHB0 ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PC9zcGFuPjwhW2VuZGlmXT5UaGlzIHZhbHVlIGlz IG5vdCBwcmVzZW50IGJlY2F1c2UgaXQgbWF0Y2hlcyB0aGUgZGVmYXVsdCB2YWx1ZSBzcGVjaWZp ZWQgaW4gdGhlIFlBTkcgbW9kdWxlLCBhbmQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29M aXN0UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luLWxlZnQ6OTAuMHB0O3RleHQtaW5kZW50Oi0zNi4w cHQ7bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzIiPg0KPCFbaWYgIXN1cHBvcnRMaXN0c10+PHNwYW4g c3R5bGU9Im1zby1saXN0Oklnbm9yZSI+KGlpKTxzcGFuIHN0eWxlPSJmb250OjcuMHB0ICZxdW90 O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 DQo8L3NwYW4+PC9zcGFuPjwhW2VuZGlmXT5UaGlzIHZhbHVlIGlzIG5vdCBwcmVzZW50IGJlY2F1 c2UgdGhlIHNlcnZlciBoYXMgZmFpbGVkIHRvIHJldHVybiBpdCBmb3Igc29tZSByZWFzb24gKGUu Zy4sIHBlcmhhcHMgdGhlIGRhZW1vbiB0aGF0IHdvdWxkIGhhdmUgcHJvdmlkZWQgdGhpcyB2YWx1 ZSBpcyBkb3duIG9yIG5vdCBhdmFpbGFibGUsIG9yIHBlcmhhcHMgaXQgaXMgYSBidWcsIG9yIHBl cmhhcHMgaXQgaXMgbm90IGltcGxlbWVudGVkIGFuZA0KIGlzIGEgbWlzc2luZyBkZXZpYXRpb24p LjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0 OjM2LjBwdCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij5TbywgSSB0aGluayB0aGF0IGluIHNvbWUgY2FzZXMsIHRo ZSBhYnNlbmNlIG9mIGEgZGF0YSBub2RlIGRvZXMgbm90IG5lY2Vzc2FyaWx5IG1lYW4gdGhhdCB0 aGUgZGVmYXVsdCB2YWx1ZSBpcyBpbiBlZmZlY3QsIGFuZCBJIHdhbnRlZCB0aGUgaW5zdGFuY2Ut ZGF0YSBkb2N1bWVudCB0byBiZSBhYmxlIHRvIGNvbnRhaW4gYW5kIGNvcnJlY3RseSByZXBvcnQg dGhpcw0KIGRhdGEuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i bWFyZ2luLWxlZnQ6MzYuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O b3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPkkgdGhpbmsgdGhhdCB0aGlzIGJlaGF2 aW91ciBjb3VsZCBiZSBjYXB0dXJlZCBieSBhIHNpbmdsZSBsZWFmLiZuYnNwOyBBbm90aGVyIHdh eSBvZiBhcnRpY3VsYXRpbmcgdGhpcyB3b3VsZCBiZTo8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+ PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+PHNw YW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXMiPmxlYWYgaW4t dXNlLXZhbHVlcyB7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7 Zm9udC1mYW1pbHk6Q29uc29sYXMiPiZuYnNwOyB0eXBlIGJvb2xlYW47PG86cD48L286cD48L3Nw YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+ PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXMiPiZuYnNw OyBkZWZhdWx0IGZhbHNlOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiIHN0eWxlPSJtYXJnaW4tbGVmdDo3Mi4wcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAu MHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzIj4mbmJzcDsgZGVzY3JpcHRpb248bzpwPjwvbzpwPjwv c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0 Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xhcyI+Jm5i c3A7Jm5ic3A7Jm5ic3A7IOKAnE9ubHkgaWYgc2V0IHRvIHRydWUsIHRoZSBhYnNlbmNlIG9mIGEg dmFsdWUgaW4gdGhlPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7 Zm9udC1mYW1pbHk6Q29uc29sYXMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpbnN0YW5jZSBk YXRhIGZvciBhIGdpdmVuIGRhdGEgbm9kZSBpbXBsaWVzIHRoYXQgdGhlPG86cD48L286cD48L3Nw YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+ PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXMiPiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO25vZGUgaXMgbm90IHVzZWQgcmF0aGVyIHRoYW4gaW1wbGljaXRs eSB0YWtpbmcgdGhlPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7 Zm9udC1mYW1pbHk6Q29uc29sYXMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkZWZhdWx0IHZh bHVlIHNwZWNpZmllZCBieSBhbnkgY29ycmVzcG9uZGluZzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDo3Mi4wcHQiPjxzcGFuIHN0 eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzIj4mbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDvigJhkZWZhdWx04oCZIHN0YXRlbWVudCBzcGVjaWZpZWQgaW4gdGhlIFlBTkcg c2NoZW1hLuKAnTs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz dHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtm b250LWZhbWlseTpDb25zb2xhcyI+fTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9w Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+V2l0aCB0 aGlzLCBJ4oCZbSBub3Qgc3VyZSB3aGV0aGVyIHdlIG5lZWQgdGhlIOKAnGluY2x1ZGVzLWRlZmF1 bHTigJ0gbGVhZiBjdXJyZW50bHkgc3BlY2lmaWVkIGluIHRoZSBkcmFmdCwgYnV0IGlmIHdlIGRv LCB0aGVuIEkgd291bGQgdGhpbmsgdGhhdCBsZWFmIHNob3VsZCBiZSBlbnRpcmVseSBvcHRpb25h bCwgaS5lLiwgd2l0aG91dCB0aGUgZGVmYXVsdCDigJx0cmlt4oCdLjxvOnA+PC9vOnA+PC9wPg0K PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PG86cD4mbmJz cDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYu MHB0Ij5SZWdhcmRzLDxicj4NClJvYjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij48bzpwPiZuYnNwOzwv bzpwPjwvcD4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFF MSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBjbSAwY20gMGNtIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi IHN0eWxlPSJtYXJnaW4tbGVmdDo3Mi4wcHQiPjxiPjxzcGFuIGxhbmc9IkVOLVVTIj5Gcm9tOjwv c3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiPiBBbmR5IEJpZXJtYW4gJmx0OzxhIGhyZWY9Im1h aWx0bzphbmR5QHl1bWF3b3Jrcy5jb20iPmFuZHlAeXVtYXdvcmtzLmNvbTwvYT4mZ3Q7DQo8YnI+ DQo8Yj5TZW50OjwvYj4gMTAgSnVseSAyMDIxIDE3OjQxPGJyPg0KPGI+VG86PC9iPiBSb2IgV2ls dG9uIChyd2lsdG9uKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnJ3aWx0b25AY2lzY28uY29tIj5yd2ls dG9uQGNpc2NvLmNvbTwvYT4mZ3Q7PGJyPg0KPGI+Q2M6PC9iPiBOZXRNb2QgV0cgJmx0OzxhIGhy ZWY9Im1haWx0bzpuZXRtb2RAaWV0Zi5vcmciPm5ldG1vZEBpZXRmLm9yZzwvYT4mZ3Q7OyBCYWzD oXpzIExlbmd5ZWwgJmx0OzxhIGhyZWY9Im1haWx0bzpiYWxhenMubGVuZ3llbEBlcmljc3Nvbi5j b20iPmJhbGF6cy5sZW5neWVsQGVyaWNzc29uLmNvbTwvYT4mZ3Q7PGJyPg0KPGI+U3ViamVjdDo8 L2I+IFJlOiBbbmV0bW9kXSB5YW5nLWluc3RhbmNlLWZpbGUgaW5jbHVkZS1kZWZhdWx0cyBsZWFm PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxkaXY+DQo8ZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+PG86cD4m bmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJn aW4tbGVmdDo3Mi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij5PbiBGcmksIEp1bCA5 LCAyMDIxIGF0IDU6MjMgQU0gUm9iIFdpbHRvbiAocndpbHRvbikgJmx0OzxhIGhyZWY9Im1haWx0 bzpyd2lsdG9uQGNpc2NvLmNvbSI+cndpbHRvbkBjaXNjby5jb208L2E+Jmd0OyB3cm90ZTo8bzpw PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRl ci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA2LjBwdDttYXJn aW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJv dHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4t bGVmdDo3Mi4wcHQiPg0KQW5keSw8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0 bzttYXJnaW4tbGVmdDo3Mi4wcHQiPg0KJm5ic3A7PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0 b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6NzIuMHB0Ij4NClllcywgd2hlbiBJIHN1Z2dlc3RlZCB0 aGlzLCBJIHdhcyB0aGlua2luZyB0aGF0IGEgYm9vbGVhbiBmbGFnIG1pZ2h0IGJlIHN1ZmZpY2ll bnQuJm5ic3A7IE15IHBvaW50IGJlaW5nIHRoYXQgYXV0b21hdGljYWxseSBmaWx0ZXJpbmcgb3V0 IGRlZmF1bHQgdmFsdWVzIGlzbuKAmXQgYWx3YXlzIHRoZSByaWdodCB0aGluZyB0byBkby48bzpw PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo3Mi4wcHQiPg0K Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRp dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDo3Mi4wcHQiPjxvOnA+ Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5 bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxk aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij5UaGUg c29sdXRpb24gaXMgc2ltcGxlLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+R2V0IHJpZCBvZiB0aGUg aW5hcHByb3ByaWF0ZSAmcXVvdDtkZWZhdWx0IHRyaW0mcXVvdDsgc3RhdGVtZW50LjxvOnA+PC9v OnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdp bi1sZWZ0OjcyLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij5JZiB0aGUgbGVhZiBp cyBwcmVzZW50IHRoZW4gaXQgaWRlbnRpZmllcyB0aGUgYmFzaWMtbW9kZSB0aGF0IHdhcyB1c2Vk IHRvIGluY2x1ZGUgZGVmYXVsdHMuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij5JZiBub3QgdGhlbiB0 aGUgaW5mb3JtYXRpb24gaXMgZWl0aGVyIG5vdCBrbm93biwgbm90IGFwcGxpY2FibGUsIG9yIGRl ZmF1bHRzIHdlcmUgbm90IGFkZGVkLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+PG86cD4mbmJzcDs8 L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFy Z2luLWxlZnQ6NzIuMHB0Ij5UaGUgJnF1b3Q7ZGVmYXVsdCZxdW90OyBzdGF0ZW1lbnQgaXMgYSBi dWcgYmVjYXVzZSB0aGVyZSBpcyBubyBkZWZhdWx0IGJhc2ljLW1vZGUuPG86cD48L286cD48L3A+ DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6 NzIuMHB0Ij5BbGwgb2YgdGhlIGJhc2ljLW1vZGVzIGFyZSBpbiB1c2UgaW4gZGVwbG95bWVudHMg YW5kIG5vIGNhbXAgaGFzIGV2ZXI8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDo3Mi4wcHQiPmJlZW4gYWJsZSB0byBj b252aW5jZSB0aGUgb3RoZXJzIHRoYXQgdGhlaXJzIGlzIHJpZ2h0LjxvOnA+PC9vOnA+PC9wPg0K PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Ojcy LjBwdCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4N CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDo3 Mi4wcHQiPkFuZHk8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O b3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDo3Mi4wcHQiPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0K PC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQg I0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0 O21hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjUuMHB0Ij4N CjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjcyLjBwdCI+ DQpFLmcuLCBzb21ldGhpbmcgYWxvbmcgdGhlc2UgbGluZXM6PG86cD48L286cD48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp bi1ib3R0b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6NzIuMHB0Ij4NCiZuYnNwOzxvOnA+PC9vOnA+ PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjcyLjBwdCI+DQpsZWFmIGV4 Y2x1ZGUtZGVmYXVsdHMgezxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5 bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21h cmdpbi1sZWZ0OjcyLjBwdCI+DQombmJzcDsgdHlwZSBib29sZWFuOzxvOnA+PC9vOnA+PC9wPg0K PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t YXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjcyLjBwdCI+DQombmJzcDsgZGVmYXVs dCB0cnVlOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0 OjcyLjBwdCI+DQombmJzcDsgZGVzY3JpcHRpb248bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv bS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo3Mi4wcHQiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7IOKAnENh biBiZSB1c2VkIHRvIHJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgY29udGVudCBkYXRhIGZpbGUuPG86 cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6NzIuMHB0Ij4N CiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0 OjcyLjBwdCI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgV2hlbiB1bnNldCBvciBz ZXQgdG8gdHJ1ZSwgZGF0YSBub2RlcyB0aGF0IGhhdmUgYSBkZWZhdWx0IGRlZmluZWQgYW5kPG86 cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6NzIuMHB0Ij4N CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB3aGVyZSB0aGUgYWN0dWFsIHZhbHVlIGlz IHRoZSBkZWZhdWx0IHZhbHVlIGFyZSBleGNsdWRlZCBmcm9tIHRoZSBjb250ZW50PG86cD48L286 cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1 dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6NzIuMHB0Ij4NCiZuYnNw OyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDtkYXRhLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90 dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjcyLjBwdCI+DQombmJzcDs8bzpwPjwvbzpwPjwvcD4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t bWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo3Mi4wcHQiPg0KJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IFdoZW4gc2V0IHRvIGZhbHNlLCBkYXRhIG5vZGVzIHdpdGggZGVm YXVsdCB2YWx1ZSBhcmUgbm90IGZpbHRlcmVkLCBhbmQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv dHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo3Mi4wcHQiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IG1heSBhcHBlYXIgaW4gdGhlIGNvbnRlbnQgZGF0YS7igJ08bzpwPjwvbzpwPjwv cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo3Mi4wcHQiPg0KfTxvOnA+PC9v OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjcyLjBwdCI+DQombmJz cDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo3Mi4w cHQiPg0KV291bGQgdGhpcyBzYXRpc2Z5IHlvdXIgY29uY2Vybj88bzpwPjwvbzpwPjwvcD4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy Z2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo3Mi4wcHQiPg0KJm5ic3A7PG86cD48L286 cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1 dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6NzIuMHB0Ij4NClJlZ2Fy ZHMsPGJyPg0KUm9iPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bWFyZ2lu LWxlZnQ6NzIuMHB0Ij4NCiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph dXRvO21hcmdpbi1sZWZ0OjcyLjBwdCI+DQombmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXYgc3R5 bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzowY20g MGNtIDBjbSA0LjBwdCI+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRv cDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20iPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t Ym90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjcyLjBwdCI+DQo8Yj48c3BhbiBsYW5nPSJFTi1V UyI+RnJvbTo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gbmV0bW9kICZsdDs8YSBocmVm PSJtYWlsdG86bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj5uZXRtb2Qt Ym91bmNlc0BpZXRmLm9yZzwvYT4mZ3Q7DQo8Yj5PbiBCZWhhbGYgT2YgPC9iPkFuZHkgQmllcm1h bjxicj4NCjxiPlNlbnQ6PC9iPiAwOCBKdWx5IDIwMjEgMTg6MTY8YnI+DQo8Yj5Ubzo8L2I+IE5l dE1vZCBXRyAmbHQ7PGEgaHJlZj0ibWFpbHRvOm5ldG1vZEBpZXRmLm9yZyIgdGFyZ2V0PSJfYmxh bmsiPm5ldG1vZEBpZXRmLm9yZzwvYT4mZ3Q7PGJyPg0KPGI+U3ViamVjdDo8L2I+IFtuZXRtb2Rd IHlhbmctaW5zdGFuY2UtZmlsZSBpbmNsdWRlLWRlZmF1bHRzIGxlYWY8L3NwYW4+PG86cD48L286 cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0 OjcyLjBwdCI+DQombmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0 OmF1dG87bWFyZ2luLWxlZnQ6NzIuMHB0Ij4NCkhpLDxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy Z2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo3Mi4wcHQiPg0KJm5ic3A7PG86cD48L286 cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6 NzIuMHB0Ij4NClRoZSBtb2R1bGUgaGFzIHRoaXMgb2JqZWN0OjxvOnA+PC9vOnA+PC9wPg0KPC9k aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjcyLjBwdCI+DQom bmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwcmUgc3R5bGU9Im1hcmdpbi1s ZWZ0OjcyLjBwdDt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNr Ij4mbmJzcDsmbmJzcDsmbmJzcDsgbGVhZiBpbmNsdWRlcy1kZWZhdWx0cyB7PC9zcGFuPjxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlIHN0eWxlPSJtYXJnaW4tbGVmdDo3Mi4wcHQiPjxzcGFuIHN0eWxl PSJjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHR5cGUg ZW51bWVyYXRpb24gezwvc3Bhbj48bzpwPjwvbzpwPjwvcHJlPg0KPHByZSBzdHlsZT0ibWFyZ2lu LWxlZnQ6NzIuMHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBlbnVtIHJlcG9ydC1hbGwgezwvc3Bhbj48 bzpwPjwvbzpwPjwvcHJlPg0KPHByZSBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij48c3BhbiBz dHlsZT0iY29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB2YWx1ZSAxOzwvc3Bhbj48bzpwPjwvbzpwPjwvcHJlPg0K PHByZSBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2si PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBkZXNjcmlwdGlvbjwvc3Bhbj48bzpwPjwvbzpwPjwvcHJlPg0KPHByZSBzdHlsZT0ibWFy Z2luLWxlZnQ6NzIuMHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyAmcXVvdDtBbGwgZGF0YSBub2RlcyBTSE9VTEQgYmUgaW5jbHVkZWQgaW5kZXBlbmRlbnQgb2Y8 L3NwYW4+PG86cD48L286cD48L3ByZT4NCjxwcmUgc3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+ PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYW55 IGRlZmF1bHQgdmFsdWVzLiZxdW90Ozs8L3NwYW4+PG86cD48L286cD48L3ByZT4NCjxwcmUgc3R5 bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj4mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTwvc3Bhbj48bzpwPjwv bzpwPjwvcHJlPg0KPHByZSBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij48c3BhbiBzdHlsZT0i Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBlbnVtIHRyaW0gezwvc3Bhbj48bzpwPjwvbzpwPjwvcHJlPg0KPHByZSBzdHlsZT0ibWFy Z2luLWxlZnQ6NzIuMHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB2YWx1ZSAyOzwv c3Bhbj48bzpwPjwvbzpwPjwvcHJlPg0KPHByZSBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij48 c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkZXNjcmlwdGlvbjwvc3Bhbj48bzpwPjwvbzpw PjwvcHJlPg0KPHByZSBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij48c3BhbiBzdHlsZT0iY29s b3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmcXVvdDtEYXRhIG5vZGVzIHRoYXQgaGF2ZSBhIGRl ZmF1bHQgZGVmaW5lZCBhbmQgd2hlcmU8L3NwYW4+PG86cD48L286cD48L3ByZT4NCjxwcmUgc3R5 bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj4mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgdGhlIGFjdHVhbCB2YWx1ZSBpcyB0aGUgZGVmYXVsdCB2YWx1 ZSBTSE9VTEQ8L3NwYW4+PG86cD48L286cD48L3ByZT4NCjxwcmUgc3R5bGU9Im1hcmdpbi1sZWZ0 OjcyLjBwdCI+PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgTk9UIGJlIGluY2x1ZGVkLiZxdW90Ozs8L3NwYW4+PG86cD48L286cD48L3ByZT4NCjxw cmUgc3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj4m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTwvc3Bhbj48 bzpwPjwvbzpwPjwvcHJlPg0KPHByZSBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij48c3BhbiBz dHlsZT0iY29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBlbnVtIGV4cGxpY2l0IHs8L3NwYW4+PG86cD48L286cD48L3ByZT4NCjxwcmUg c3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj4mbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg dmFsdWUgMzs8L3NwYW4+PG86cD48L286cD48L3ByZT4NCjxwcmUgc3R5bGU9Im1hcmdpbi1sZWZ0 OjcyLjBwdCI+PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGVzY3JpcHRpb248L3NwYW4+ PG86cD48L286cD48L3ByZT4NCjxwcmUgc3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+PHNwYW4g c3R5bGU9ImNvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJnF1b3Q7RGF0YSBub2RlcyB0aGF0 IGhhdmUgYSBkZWZhdWx0IGRlZmluZWQgYW5kIHdoZXJlPC9zcGFuPjxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlIHN0eWxlPSJtYXJnaW4tbGVmdDo3Mi4wcHQiPjxzcGFuIHN0eWxlPSJjb2xvcjpibGFj ayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHRoZSBhY3R1YWwgdmFsdWUgaXMgdGhlIGRl ZmF1bHQgdmFsdWUgU0hPVUxEIE5PVCBiZTwvc3Bhbj48bzpwPjwvbzpwPjwvcHJlPg0KPHByZSBz dHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpbmNsdWRlZC4gSG93ZXZlciwgaWYgdGhlIGFjdHVhbCB2 YWx1ZSB3YXMgc2V0IGJ5PC9zcGFuPjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlIHN0eWxlPSJtYXJn aW4tbGVmdDo3Mi4wcHQiPjxzcGFuIHN0eWxlPSJjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IGEgTkVUQ09ORiBjbGllbnQgb3Igb3RoZXIgbWFuYWdlbWVudCBhcHBsaWNh dGlvbjwvc3Bhbj48bzpwPjwvbzpwPjwvcHJlPg0KPHByZSBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIu MHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBieSB0aGUgd2F5IG9mIGFuIGV4cGxpY2l0IG1hbmFnZW1lbnQgb3BlcmF0aW9uIHRoZTwvc3Bh bj48bzpwPjwvbzpwPjwvcHJlPg0KPHByZSBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij48c3Bh biBzdHlsZT0iY29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkYXRhIG5v ZGUgU0hPVUxEIGJlIGluY2x1ZGVkLiZxdW90Ozs8L3NwYW4+PG86cD48L286cD48L3ByZT4NCjxw cmUgc3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj4m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTwvc3Bhbj48 bzpwPjwvbzpwPjwvcHJlPg0KPHByZSBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij48c3BhbiBz dHlsZT0iY29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9 PC9zcGFuPjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlIHN0eWxlPSJtYXJnaW4tbGVmdDo3Mi4wcHQi PjxzcGFuIHN0eWxlPSJjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGRlZmF1bHQgdHJpbTs8L3NwYW4+PG86cD48L286cD48L3ByZT4NCjxwcmUgc3R5bGU9 Im1hcmdpbi1sZWZ0OjcyLjBwdDt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+PHNwYW4gc3R5bGU9ImNv bG9yOmJsYWNrIj4mbmJzcDs8L3NwYW4+PG86cD48L286cD48L3ByZT4NCjxwIGNsYXNzPSJNc29O b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h bHQ6YXV0bzttYXJnaW4tbGVmdDo3Mi4wcHQiPg0KVGhlIGRyYWZ0IGlzIGV4dHJlbWVseSBzZXJ2 ZXItY2VudHJpYywgbGlrZSBtb3N0IElFVEYgc3RhbmRhcmRzLCBidXQgdGhpczxvOnA+PC9vOnA+ PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0Ojcy LjBwdCI+DQpsZWFmIGlzIHRvbyBzZXJ2ZXItY2VudHJpYyB0byBpZ25vcmUuPG86cD48L286cD48 L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6NzIu MHB0Ij4NCiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t LWFsdDphdXRvO21hcmdpbi1sZWZ0OjcyLjBwdCI+DQpDb25zaWRlciB0aGUgcG9zc2liaWxpdHkg dGhhdCB0aGUgc291cmNlIG9mIHRoZSBmaWxlIGlzIE5PVCBhIE5FVENPTkYgc2VydmVyLjxvOnA+ PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1s ZWZ0OjcyLjBwdCI+DQpUaGlzIGRhdGEgbWF5IG5vdCBiZSBrbm93biBzbyB0aGUgZGVmYXVsdCBv ZiAmcXVvdDt0cmltJnF1b3Q7IG1heSBub3QgYmUgY29ycmVjdC48bzpwPjwvbzpwPjwvcD4NCjwv ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo3Mi4wcHQiPg0K Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1 dG87bWFyZ2luLWxlZnQ6NzIuMHB0Ij4NCklNTyB0aGlzIGxlYWYgaXMgbm9pc2UgYmVjYXVzZSBh bnkgdG9vbCB0aGF0IGtub3dzIHRoZSBzY2hlbWEgd2lsbCBhbHNvPG86cD48L286cD48L3A+DQo8 L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6NzIuMHB0Ij4N Cmtub3cgdGhlIFlBTkcgZGVmYXVsdHMuJm5ic3A7IFRoZSBzb2x1dGlvbiBpcyBpbmNvbXBsZXRl IGFueXdheSBiZWNhdXNlPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0 b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6NzIuMHB0Ij4NCnRoZSBwcmVzZW5jZSBvZiBhIGxlYWYg dGhhdCBoYXMgYSBZQU5HIGRlZmF1bHQgaXMgbm90IGVub3VnaC48bzpwPjwvbzpwPjwvcD4NCjwv ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo3Mi4wcHQiPg0K VGhlJm5ic3A7ICZxdW90O3JlcG9ydC1hbGwtdGFnZ2VkJnF1b3Q7IG1vZGUgbXVzdCBiZSB1c2Vk IHRvIGlkZW50aWZ5IGRlZmF1bHRzLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn aW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjcyLjBwdCI+DQpJTU8gdGhpcyBsZWFmIHNo b3VsZCBiZSByZW1vdmVkLCBidXQgYXQgbGVhc3QgYWRkIGFuIGVudW0gY2FsbGVkICZxdW90O3Vu a25vd24mcXVvdDsuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t YWx0OmF1dG87bWFyZ2luLWxlZnQ6NzIuMHB0Ij4NCiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9k aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjcyLjBwdCI+DQom bmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0 bzttYXJnaW4tbGVmdDo3Mi4wcHQiPg0KQW5keTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z by1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjcyLjBwdCI+DQombmJzcDs8bzpw PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4t bGVmdDo3Mi4wcHQiPg0KJm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9k aXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2 Pg0KPC9ib2R5Pg0KPC9odG1sPg0K --_000_DM4PR11MB543824EB074422075681CA9AB5C49DM4PR11MB5438namp_-- From nobody Mon Aug 23 03:50:17 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BDF763A074E for ; Mon, 23 Aug 2021 03:50:15 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -9.595 X-Spam-Level: X-Spam-Status: No, score=-9.595 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=Ov0eU+lq; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=hKwyvQW+ Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SQn3NMqEnWWo for ; Mon, 23 Aug 2021 03:50:10 -0700 (PDT) Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CF9873A074D for ; Mon, 23 Aug 2021 03:50:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=32625; q=dns/txt; s=iport; t=1629715809; x=1630925409; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=G84JOk7fKnQzcjmJTA5LKk69JvHZGqW+fhKmnpbKIQ4=; b=Ov0eU+lquHaSi0Uvo6+jNuROKwnaz8fhTLSlGaAbA8bGKWcxsol8GN+S d7vjMWbW4AQxGWkI319qQYETGbB8vhsmhbqCPEhIoXy7y1u+BxuwpG+hC qJ1+7RFSx0I6CO0Kl/OqKxdGbWyReG/2Z/qWGx2RH1chj3RbZZl4RJytP g=; IronPort-PHdr: =?us-ascii?q?A9a23=3AQioOKR3SX3cipIeGsmDPTVBlVkEcU/3cLxMQ4?= =?us-ascii?q?4UgkbFVNK+k+seqME/e4KBri1nEFcXe5ulfguXb+6bnRSQb4JmHvXxDFf4EV?= =?us-ascii?q?xIMhcgM2QB1BsmDBB7qMfvjcCsgH98EX1hgrDm3NEFPE5P4YFvf6nS58T8VH?= =?us-ascii?q?ED5Mgx4buT4E4LflYK5zee3rpbSeA5PwjG6ZOAaEQ=3D=3D?= IronPort-HdrOrdr: =?us-ascii?q?A9a23=3AWhpvEa2RhhpOmIwxQFMYKAqjBetxeYIsim?= =?us-ascii?q?QD101hICG9Lfb4qyn+ppomPEHP5wr5AEtQ5uxpOMG7MBThHO1OkPcs1NaZLU?= =?us-ascii?q?nbUQ6TTL2KgrGSuAEIdxeOk9K1kJ0QD5SWa+eATmSS7/yKmjVQeuxIqLLsnc?= =?us-ascii?q?zY5pa9854ud3AWV0gK1XYeNu/vKDwPeOAwP+tBKHPz3LsimxOQPVAsKuirDH?= =?us-ascii?q?gMWObO4/fRkoj9XBIADxk7rCGTkDKB8tfBYlql9yZbdwkK7aYp8GDDnQC8zL?= =?us-ascii?q?6kqeuHxhjV0HKWx4hKmeHm1sBICKW3+40ow3TX+0KVjbZaKvu/VQMO0biSAZ?= =?us-ascii?q?ER4YHxSiIbToNOArXqDzqISFXWqlPdOX0Vmg7fIBej8AveSIrCNW8H4w4rv/?= =?us-ascii?q?MHTvMfgHBQ4O2UmZg7rV6xpt5ZCwjNkz/64MWNXxZ2llCsqX5niuILiWdDOL?= =?us-ascii?q?FuJIO4PeQkjTBo+bo7bWjHAbocYaRT5QDnlYBrWELfa2qcsnhkwdSqUHh2Fh?= =?us-ascii?q?CaQlIassjQ1zRNhnh2w0YR2cRaxx47hdwAYogB4/6BPrVjlblIQMNTZaVhBP?= =?us-ascii?q?0ZSc/yDmDWWxrDPG+bPFyiHqAaPHDGrYLx/dwOla6XUY1NyIF3lIXKUVteu2?= =?us-ascii?q?J3c0XyCdeW1JkO6RzJSHXVZ0Wn9iif3ekwhlTYfsurDcSuciFbryKQmYRXPi?= =?us-ascii?q?SAYYfHBHt/OY6VEVfT?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BwAAAMfCNh/51dJa1aHQEBAQEJARI?= =?us-ascii?q?BBQUBggUIAQsBgSIwUQd3Ugg3MYRHg0gDhFlgiASBFI5jikuBLhSBEQNUCwE?= =?us-ascii?q?BAQ0BASoBDAoEAQGEJUUCF4IiAiU0CQ4BAgQBAQESAQEFAQEBAgEGBIERE4U?= =?us-ascii?q?7ByYNhkMCAQMBARARHQEBLAQHAQ8CAQg4BwMCAgIlCxQRAgQOBRQOgk8BgX5?= =?us-ascii?q?XAy8BDpxEAYE6AoofeoExgQGCBwEBBgQEgUpBRoI5GII0AwaBOgGCfYQOAQG?= =?us-ascii?q?CbYN6JxyBSUSBFSccgWFKNz6CYgEBAgEXgQAtARcugmo2gi6EQxguJgcGAWM?= =?us-ascii?q?EJxwIBgIgAg0sKloGDwlLBimRKjwHgxOIWjiDM4lYkh0KgyqKP5QXBSeDZZI?= =?us-ascii?q?okGuWFYIeiiKTXQ8EUwGEHAIEAgQFAg4BAQaBYTsrgS5wFTsqAYI+PhIZD4R?= =?us-ascii?q?+iSKDcoUUhUpzAjYCBgEKAQEDCYwlLYIYAQE?= X-IronPort-AV: E=Sophos;i="5.84,344,1620691200"; d="scan'208,217";a="908136133" Received: from rcdn-core-6.cisco.com ([173.37.93.157]) by rcdn-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 23 Aug 2021 10:50:07 +0000 Received: from mail.cisco.com (xbe-aln-003.cisco.com [173.36.7.18]) by rcdn-core-6.cisco.com (8.15.2/8.15.2) with ESMTPS id 17NAo7IM026685 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=OK); Mon, 23 Aug 2021 10:50:07 GMT Received: from xfe-aln-005.cisco.com (173.37.135.125) by xbe-aln-003.cisco.com (173.36.7.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.15; Mon, 23 Aug 2021 05:50:07 -0500 Received: from xfe-rcd-005.cisco.com (173.37.227.253) by xfe-aln-005.cisco.com (173.37.135.125) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.15; Mon, 23 Aug 2021 05:50:07 -0500 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (72.163.14.9) by xfe-rcd-005.cisco.com (173.37.227.253) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.15 via Frontend Transport; Mon, 23 Aug 2021 05:50:07 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hvk3D+9b1gKKTvb/1hbbNYknKpXiCN25YNoJ3oLnMrCM63wXxF4xUN6t4nratmRPEJ0xNxSgR2Y6BQC5OSqlah1n4S9NErmFhhgUeg6sGe47f9j4bm8MCJpqYKL3hJL6sjsLwP9ZqZuclvdMKBXKOv2UNTA1KcgkIhJC+kJ4vfPc7JOzQCUw47wkVeMCyvD/fO82I7VI8c3JmqIqD6/sNrXziUDHGP8LNPmOj7Tu/6kPrjybsq9BboXmr9d/Q2Dszs868r/UDBctLmz2YN8owmOXC3NuizQ5z2AAE+ZkmkrojzCdCYwkub515F4dXsXFQCc0eWLOyj+Sx+yka4Ielw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G84JOk7fKnQzcjmJTA5LKk69JvHZGqW+fhKmnpbKIQ4=; b=UyH4GOigQWLL4bCpFr1l8meSE+FbhcWRF2y5/wQWxGQYxAP/Jw/i52snBAF5Czxt5PgXVcDu/Os3oXug6lsw3/DZOeNPgUvz2K/YVUbTbsZWzpLMeAGehsfftObtJ+mUdmFNcTnUOrlAVxzpBAfKdYA7eAh/DFgA4wz3ok0D6kkdy9VsGKzvPgWTczjTFdmFiquf+y9CYJro9eiBWMAEMHkOQTfLFfp2EvqMs9rKSSnOFFImQ9NCD5VwMin0IYtP0uX0e9EPB0R/cU9LaDxsVwKfQa6bsi1K35uVgFKSLRdAYFbrlSprMSDM9ocQx2RstZIH/aNQDVTO4NZ028uDkw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G84JOk7fKnQzcjmJTA5LKk69JvHZGqW+fhKmnpbKIQ4=; b=hKwyvQW+6GEtjF6b1Ygt9jdu25HAZ1V162tVHo2tScf3YE9/y0MKNw5D2nb2rRxHNJm4uYy0FXxYdLZsVebbJEZcMwthCbBbsVjymVt/5S2NZmfpiCId50oEiuXPA04meSKSvuXIhSxvBf8gOKrnoflNUi+xxRZOyan9CLqWuBM= Received: from DM6PR11MB2841.namprd11.prod.outlook.com (2603:10b6:5:c8::32) by DM6PR11MB3754.namprd11.prod.outlook.com (2603:10b6:5:146::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Mon, 23 Aug 2021 10:50:05 +0000 Received: from DM6PR11MB2841.namprd11.prod.outlook.com ([fe80::69e2:1350:480f:ce6e]) by DM6PR11MB2841.namprd11.prod.outlook.com ([fe80::69e2:1350:480f:ce6e%4]) with mapi id 15.20.4436.024; Mon, 23 Aug 2021 10:50:05 +0000 From: "Jan Lindblad (jlindbla)" To: Andy Bierman , "Sterne, Jason (Nokia - CA/Ottawa)" CC: Kent Watsen , "netmod@ietf.org" Thread-Topic: [netmod] system configuration sync mechanism Thread-Index: AQHXmAyigKIWDdtTOEOomfb3PG+PTA== Date: Mon, 23 Aug 2021 10:50:05 +0000 Message-ID: References: <0100017b5558ab9d-43cdec2f-59c4-4ff0-97e2-3b90cfca869d-000000@email.amazonses.com> In-Reply-To: Accept-Language: sv-SE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3608.120.23.2.7) authentication-results: yumaworks.com; dkim=none (message not signed) header.d=none;yumaworks.com; dmarc=none action=none header.from=cisco.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f68700f2-9ea7-4189-de16-08d96623c495 x-ms-traffictypediagnostic: DM6PR11MB3754: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Gxpz3gRsZFQOkSEhvzgkIl8eDPX1IgF6s08ta1Va+2A1xQj8jzei76w8cnQDECYCCVJaUoGRAEi1sinNDYhnFlWA0cM/iVytJncOhb1eV73wq4VUltzS1uzP7/Kq+LucEe2CBcRJ8eR3q0poJHSm1qqCM7oUeF6cDRgrCQ7OOIv0m+6v3qChvq5DWRzrLaiR2ujDt4q9rc5eN72kXATtO7dSvJpHjPKndW1UEGOMxo624jmf7RFlcY4RKu5V3iBs2sfDHgPB2OPPZQiLEN64qg3jDC5CRUvm7sxXFIMbo1rPRG20kyV57iAx6dUlpsTKTP5/1ZAi92/4ILyhxnYAZxaQedHsbZZcX55yiJj8DIYeT0LsDGxZ09Jh+laIisFnsSO0OdBo0+Dkdvc8NMcupJu/MVCIZ2KnM05Kvl8a+XqCv9wz07gq81R5Ra1Hd/UIrKFsS5JWNcQZOOhLl3MeciTsXlfY+fSGWNjYXoOKYyW7x1rQfC+Hs/YYPRPcbwcrekzXJZffocSIYSgsYPYwEcaz9cVEKG0gwE2lhowW6IDuvE5MjB1QGXN0ghR5drnpqnCwV7wqdabq+BJvSCuDkkvxZOyIS2M5H/3kIVI8QbCFz0QsYUMVeL6fC0Int4VMqvgk3UhH638grx9Zx976AH2OUWphWO0iI9uUq7tIlTtqz3S7rVVBAiwyCPS95Yjl7obpG5oRL6x67RlnYOhJsEjoEHEudELmt8fOUIlHjfP97zL+J006Nr/1i9QqjsFnMwJgY9XuBJX0H3Tx3y0S1WDxnFjEuYcGboRNV5Kyw1GTufAg9MEsWi8rZt0GRKSWKTia3GcaySj5H/MC3adrYoU0fDYG5inYIBoCF3e55M4= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB2841.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(6512007)(4326008)(33656002)(8936002)(54906003)(2616005)(6486002)(71200400001)(36756003)(110136005)(2906002)(83380400001)(38070700005)(166002)(966005)(86362001)(26005)(122000001)(508600001)(76116006)(38100700002)(91956017)(6506007)(53546011)(5660300002)(66946007)(186003)(66446008)(66476007)(316002)(66556008)(64756008)(8676002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dnFCVUZaR3BDeS9nM29GZHpiaUJmT2t6Q1VkVHhUMzNGWDA1cENncURGWWtr?= =?utf-8?B?OVRrcENYM0xENTJ4aGI2ZWdUeE5tVUgvbkRPSFJpYWZjT0ZiVXZtY0xmVTZr?= =?utf-8?B?a2VZa0QyM3JJRHhWY25uQVNBZ2FrLzlrVlVudlIrNXNUY1Z4OXRpY3pkSkxQ?= =?utf-8?B?d1Nkc1BBQmM3dDNtR3JxYlNaclZvSmI5TStmRHJEYldsMWRTV0pTaE1FY1Zr?= =?utf-8?B?VjJ6bUVzMUk2Z0tyNTRRdzVKbGllcXgzMmtlblpIRllLSGp2ME5wUXpaSXYv?= =?utf-8?B?cCtkS05WMTgwYXZKUkQrdmpTaGpLQ1ZUOUozKzBOOUt2cDZhVEJLM3h3dzd2?= =?utf-8?B?bXRlMlFBaDEyY1JEcFRCaXhQbTZRZ285dVZtdzQ2cnlNVnhqWU9yYnpTbzdP?= =?utf-8?B?VHJKMWFYdW00SStSS3UvV1JYMTh0cVZXNG1NV1hTbUV3aHpaNUJNK29WVG5J?= =?utf-8?B?TmdyV1hSNUpacnExR0JYbjdmc2FwWWNOTzk0VktoNENQQlc2dWk5T3RtWkty?= =?utf-8?B?c1RKK2t1MVBPU1UwMkUxQ1pKUVQyVm15T1haQytlSlJ4RFlRUWxoTVdKM05G?= =?utf-8?B?S0EzOEZaVFlIYkZVOTZPN25iYjNuWXlzSnRReTRJaCtQaXVlbStCRDNEVnI3?= =?utf-8?B?QWdxZ1R0U0VORFo1RmJabzBKZnJ6NnZWOG9WWUZwL08wZXlCVFlYemNPZjdY?= =?utf-8?B?SjlsbTc3WXBmc1paeDNWamNCVHdlelFENnlWOEpWK2lTQkwvcjQ5cUdEU0tF?= =?utf-8?B?M3N0S2FYeXl4cFltZnh3ZFlCWXVLTllCY0Z4L1IwN1dDczJmTFQyMnl5UFlm?= =?utf-8?B?S08zRDhBdDBla0ozanRxSWtMRmk5MlI1SGE2Q09CNERoMlhiSHBYMG1BZFkz?= =?utf-8?B?dUU5aFNOTU5Zd2FESnpNa2pLNzMwZEpoTXJPOEw5TEtXOXVScnBSV2E1b3ZV?= =?utf-8?B?ZU1ySnNsQmc4YnpjWHpCUVFjdEh5ZjlVNldjUkJqOWNUTVpIQTFzUTBZZnkr?= =?utf-8?B?RzB3UXI0aEF0ZDFTVm9Sa21XcERRaHFESndMdkJ5ek51eFA0YzI2b2FVU2RP?= =?utf-8?B?c3hsU2pRdXo2OGdIRCtqUXpkSStuTmoweG5BSUZmK2tCUkRSMCsxaWhlUjBH?= =?utf-8?B?SFNZNVhIT0xKUHRMSm50aVNwUGlYSDNtSVpnS25ibUxYNVAyVFJrRldYM3ZB?= =?utf-8?B?SnR2K3g5bWhzczhEb0hCbVNOTzVBUTd0REUxamZJSG0xcmIzZDFMcm9UY3Ny?= =?utf-8?B?eWxDM1FnM2c4cGtRbno5elRVWlZwRVBYT0hpdlR1ei9yZVFLRWxVQWQ4b0dG?= =?utf-8?B?cXYxR09Yems2a2JkMFZqWHJFdmRQWE5tY3drM0FjU2VRbkxJRmhmM1BpQ2xL?= =?utf-8?B?Vmd0ZjhFS052UEt3S3pvVlJOVnk3VEdqcC9MTGdKL1lOTFh0MUJuY24wZTdC?= =?utf-8?B?QmFsV04ybHo5Z01UcEhLL3ZDWXg5dUFQVjBUYlFEeklkQmZ6RzVRQXRrWDdI?= =?utf-8?B?OGxGK3pIeml4YVZIV010MGFyTjNDVWdWQTBhbTdVOTNWS09WdXY2eEt4bUpk?= =?utf-8?B?Q0lhZkp3UFBoeE45eXVKS2V5ZGFodDA4cjBNT2dXYUlvMGpFN3ExUFAxUTg0?= =?utf-8?B?TFJkODlzNFZLZjJSUDVOWk9oWU5xVFhzWEx4MktJc2lmY3hwQy9BTDlZeGZC?= =?utf-8?B?SjVpL3ZlMmVvVmJhMGVtTFZSQTlHRUhIR01Ob0VMcUovcVBvVXF1Ni8wYlRJ?= =?utf-8?B?d0c0Qlh1Um1qaStUOExNOWRBTHByYVlGM2NmU1Q2TnJGcW1LR3MrblNqaUZN?= =?utf-8?B?alFFSCtDeDZHSnBwSXpGZz09?= x-ms-exchange-transport-forked: True Content-Type: multipart/alternative; boundary="_000_AF3746F4F2C443FBBE47E040D8C385CBciscocom_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB2841.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f68700f2-9ea7-4189-de16-08d96623c495 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Aug 2021 10:50:05.7030 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5nkrhAQzCZKpvf4zYFPKbfyxoyOweK76hWpkXyKR/0QCYewMChJHO6C5It4RhpMhmbAscEPxRsOqb2EglYIaIw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3754 X-OriginatorOrg: cisco.com X-Outbound-SMTP-Client: 173.36.7.18, xbe-aln-003.cisco.com X-Outbound-Node: rcdn-core-6.cisco.com Archived-At: Subject: Re: [netmod] system configuration sync mechanism X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2021 10:50:16 -0000 --_000_AF3746F4F2C443FBBE47E040D8C385CBciscocom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksDQoNClNvcnJ5IGZvciBnZXR0aW5nIGxhdGUgaW50byB0aGlzIGFscmVhZHkgdW53aWVsZHkg dGhyZWFkLiBTaW1pbGFyIGRpc2N1c3Npb25zIGhhdmUgYmVlbiBmbGFyaW5nIHVwIHJlZ3VsYXJs eSBmb3IgYXMgbG9uZyBhcyB0aGlzIHdvcmsgZ3JvdXAgaGFzIGV4aXN0ZWQsIGFuZCB3ZSBoYXZl IG5ldmVyIGJlZW4gYWJsZSB0byBwdXQgaXQgdG8gZmluYWwgcmVzdC4gQXQgdGhlIGhlYXJ0IG9m IHRoZSBpc3N1ZSBpcyB0aGUgYWdlIG9sZCBkaXZpc2lvbiBiZXR3ZWVuICJ1bnByZWRpY3RhYmxl IiBhbmQgImxhenkiIG1hbmFnZWQgc3lzdGVtcyAoTkVUQ09ORiBzZXJ2ZXJzKS4NCg0KVW5wcmVk aWN0YWJsZSBzeXN0ZW1zOiBzeXN0ZW1zIHRoYXQgbW9kaWZ5IGFuZCBleHRlbmQgdGhlaXIgcnVu bmluZyBjb25maWd1cmF0aW9uIHNwb250YW5lb3VzbHkgKG91dHNpZGUgc3RhbmRhcmRzKQ0KTGF6 eSBzeXN0ZW1zOiBzeXN0ZW1zIHRoYXQgdHJlYXQgcnVubmluZyBhcyBzYWNyZWQgc2NyaXB0dXJl cyBvZiB0aGUgZ29kcyAob3BlcmF0b3IgY29tbXVuaXR5IGFuZCBtYW5hZ2VtZW50IHN5c3RlbXMp DQoNClRoZXJlIGFyZSBORVRDT05GIHNlcnZlcnMgb3V0IHRoZXJlIG9mIGJvdGggdHlwZXMgKGFu ZCBhY3Jvc3MgdGhlIHNwZWN0cnVtIGluIGJldHdlZW4pLCB3aXRoIGh1Z2UgaW1wbGVtZW50YXRp b24gaW52ZXN0bWVudHMgYW5kIGZ1dHVyZSBhc3BpcmF0aW9ucy4gTm90aGluZyBpcyBnb2luZyB0 byByZW1vdmUgZWl0aGVyIGFwcHJvYWNoIGZyb20gdGhlIG1hcmtldCBhbnkgdGltZSBzb29uLiBN eSBwb2ludCBpcyB0aGF0IHdoZW4gbmV3IHByb3RvY29sIGV4dGVuc2lvbnMgYXJlIHByZXNlbnRl ZCwgc3VjaCBhcyB0aGUgc3lzdGVtIGRhdGFzdG9yZSwgdGhlaXIgaW1wbGljYXRpb25zIG5lZWQg dG8gYmUgZXZhbHVhdGVkIGZvciBib3RoIGNhdGVnb3JpZXMgb2Ygc3lzdGVtcy4NCg0KVGhlcmUg aGFzIGJlZW4gYSBsYXJnZSBudW1iZXIgb2YgcG9pbnQgcXVlc3Rpb25zIGRpc2N1c3NlZCBpbiB0 aGlzIHRocmVhZCwgYW5kIEkgZG9uJ3QgZW52eSB0aGUgZHJhZnQgYXV0aG9ycyB0byB0cnkgdG8g bWFrZSBzZW5zZSBvZiBpdCBhbGwuIEFuIGludGVyaW0gY2FsbCwgYXMgc3VnZ2VzdGVkIGJ5IEph c29uLCBtYXkgYmUgdGhlIGJlc3QgYW5zd2VyLCBpZiB0aGUgZHJhZnQgdGVhbSBjYW4gcHV0IHRv Z2V0aGVyIGEgbWF0ZXJpYWwgd2l0aCBkZWNpc2lvbiBwb2ludHMgdG8gY292ZXIuDQoNCkphc29u IG1hZGUgc2V2ZXJhbCBpbXBvcnRhbnQgcG9pbnRzIHRoYXQgSSdkIGxpa2UgdG8gdW5kZXJzY29y ZSBpbWhvOg0KDQpPbmUgb2YgdGhlIHByZXR0eSBmdW5kYW1lbnRhbCBpc3N1ZXMgSU1PIGlzIHdo ZXRoZXIgd2Ugd2FudCBnb29kIG9sJyBzdGFuZGFyZCA8cnVubmluZz4gdG8gYWx3YXlzIGJlIHZh bGlkIChpbmNsdWRpbmcgZm9yIGFuIG9mZmxpbmUgY2xpZW50IG9yIHRvb2wgdG8gYmUgYWJsZSB0 byB2YWxpZGF0ZSBpbnN0YW5jZSBkYXRhIHJldHJpZXZlZCBmcm9tIGEgc2VydmVyIGFnYWluc3Qg dGhlIFlBTkcgbW9kZWxzKS4NCg0KSSBmaW5kIHRoaXMgYW4gZXNzZW50aWFsIGNvbmNlcHQgZm9y IHJ1bm5pbmcuIE11Y2ggZGVwZW5kcyBvbiB0aGlzIHRlbmV0Lg0KDQpJIGFncmVlIHRoZXJlIGNh biBiZSBkeW5hbWljYWxseSBhZGRlZCBzeXN0ZW0gY29uZmlnIChlLmcuIGNyZWF0ZSBhIG5ldyBx b3MgcG9saWN5LCBhbmQgc29tZSBxdWV1ZSBsaXN0IGVudHJpZXMgYXJlIGF1dG9tYXRpY2FsbHkg Y3JlYXRlZCBpbnNpZGUgdGhhdCBwb2xpY3kpLg0KDQpUaGlzIGlzIHRoZSBkZWZpbmluZyB0cmFp dCBvZiAidW5wcmVkaWN0YWJsZSIgc3lzdGVtcywgYW5kIHRoZXJlIGFyZSBtYW55IG9mIHRob3Nl LiBUaGVyZSBhcmUgYWxzbyBtYW55ICJsYXp5IiBzeXN0ZW1zLCB3aGljaCB3b3VsZCBuZXZlciBh bGxvdyB0aGlzLg0KDQpCZXN0IFJlZ2FyZHMsDQovamFuDQoNCg0KDQpUTDtEUiBkZWZpbmluZyB0 eXBpY2FsICJ1bnByZWRpY3RhYmxlIiAoVSkgYW5kICJsYXp5IiAoTCkgTkVUQ09ORiBzZXJ2ZXIg YmVoYXZpb3IuDQoNCisgRmFjdG9yeSByZXNldA0KVTogY3JlYXRlcyBhIGRlZmF1bHQgdXNlciwg c2NhbnMgdGhlIGhhcmR3YXJlIGFuZCBpbmplY3RzIGRlZmF1bHQgbGluZSBjYXJkIGNvbmZpZ3Mg aW4gcnVubmluZw0KTDogY3JlYXRlcyBhIGRlZmF1bHQgdXNlciwgc2NhbnMgdGhlIGhhcmR3YXJl IGFuZCBpbmplY3RzIGRlZmF1bHQgbGluZSBjYXJkIGNvbmZpZ3MgaW4gcnVubmluZw0KDQorIElu c2VydCBuZXcgbGluZSBjYXJkDQpVOiBjcmVhdGVzIGEgZGVmYXVsdCBjb25maWcgZm9yIGluc2Vy dGVkIGxpbmUgY2FyZCBhbmQgaW50ZXJmYWNlcywgbWF5YmUgYWRkcyBhIHN1aXRhYmxlIGRlZmF1 bHQgc3BlZWQgbGVhZiBkZXBlbmRpbmcgb24gaGFyZHdhcmUgdHlwZQ0KTDogbm8gY2hhbmdlIG9m IHJ1bm5pbmcsIGJ1dCByZWZsZWN0cyBpbnNlcnRpb24gaW4gb3BlcmF0aW9uYWwgYW5kIG1heWJl IHdpdGggYSBub3RpZmljYXRpb24NCg0KKyBDb25maWd1cmUgcGFyYW1ldGVycyBvZiBpbnRlcmZh Y2Ugb24gaW5zZXJ0ZWQgbGluZSBjYXJkDQpVOiBvbmx5IGNoYW5nZWQgcGFyYW1ldGVycyBuZWVk IHRvIGJlIHdyaXR0ZW4gYXMgcnVubmluZyBhbHJlYWR5IGhhcyB0aGUgaW50ZXJmYWNlDQpMOiBl bnRpcmUgaW50ZXJmYWNlIG5lZWRzIHRvIGJlIGNyZWF0ZWQgaW4gcnVubmluZyB3aXRoIGRlc2ly ZWQgcGFyYW1ldGVycw0KDQorIFJlbW92ZSB0aGF0IGxpbmUgY2FyZA0KVTogcmVtb3ZlcyB0aGUg Y29uZmlnIGZvciB0aGUgZWplY3RlZCBsaW5lIGNhcmQNCkw6IG5vIGNoYW5nZSBvZiBydW5uaW5n LCBidXQgb3BlcmF0aW9uYWwgbm93IHJlZmxlY3RzIHRoZSBpbnRlcmZhY2Ugc3RhdGUgYXMgW2hh cmR3YXJlIG1pc3NpbmddDQoNCisgUmVpbnNlcnQgdGhlIGxpbmUgY2FyZA0KVTogY3JlYXRlcyBh IGRlZmF1bHQgY29uZmlnIGZvciBpbnNlcnRlZCBsaW5lIGNhcmQsIG1heWJlIGFkZHMgYSBzdWl0 YWJsZSBkZWZhdWx0IHNwZWVkIGxlYWYgZGVwZW5kaW5nIG9uIGhhcmR3YXJlIHR5cGUNCkw6IG5v IGNoYW5nZSBvZiBydW5uaW5nLCBidXQgaW50ZXJmYWNlIGNvbWVzIGJhY2sgb24gbGluZSBhcyBw cmV2aW91c2x5IGNvbmZpZ3VyZWQgYW5kIG9wZXJhdGlvbmFsIG5vdyByZWZsZWN0cyB0aGUgaW50 ZXJmYWNlIHN0YXRlIGFzIFt1cF0NCg0KKyBSZWNvbmZpZ3VyZSB0aGUgaW50ZXJmYWNlIHR5cGUg b2YgZXhpc3RpbmcgaW50ZXJmYWNlDQpVOiByZWplY3RlZA0KTDogYWNjZXB0ZWQsIGJ1dCBvcGVy YXRpb25hbCBzdGF0ZSBub3cgcmVmbGVjdHMgdGhlIGludGVyZmFjZSBzdGF0ZSBhcyBbaGFyZHdh cmUgbWlzbWF0Y2hdDQoNCisgUmVjb25maWd1cmUgdGhlIG5hbWUgb2YgYW4gaW50ZXJmYWNlDQpV OiByZWplY3RlZA0KTDogYWNjZXB0ZWQgaWYgdGhlIG5hbWUgY291bGQgYmUgdmFsaWQgZm9yIHRo aXMgZGV2aWNlLCBidXQgb3BlcmF0aW9uYWwgc3RhdGUgbm93IHJlZmxlY3RzIHRoZSBpbnRlcmZh Y2Ugc3RhdGUgYXMgW2hhcmR3YXJlIG1pc3NpbmddDQoNCisgSW5zdGFsbCBiYWNrdXANClU6IElm IHRoZSBzZXQgb2YgaW50ZXJmYWNlcyBpbiB0aGUgYmFja3VwIGlzIGEgc3Vic2V0IG9mIGN1cnJl bnRseSBwcmVzZW50IGhhcmR3YXJlLCBpdCBpcyBhY3RpdmF0ZWQsIG90aGVyd2lzZSByZWplY3Rl ZA0KTDogYWNjZXB0ZWQuIElmIGFueSBoYXJkd2FyZSBpcyBjdXJyZW50bHkgbWlzc2luZyBhcyBj b25maWd1cmVkIGluIHRoZSBiYWNrdXAsIHRoZWlyIG9wZXJhdGlvbmFsIHN0YXRlIGlzIHNob3du IGFzIFtoYXJkd2FyZSBtaXNzaW5nXQ0KDQpBIHZhcmlhbnQgdGhhdCBmYWxscyBiZXR3ZWVuIFUg YW5kIEwgbWlnaHQgYmUgYSBzeXN0ZW0gdGhhdCBjb25zaWRlcnMgdGhlIGluc2VydGlvbiBvZiBh IGxpbmUgY2FyZCBhbiAiYWN0IG9mIGNvbmZpZ3VyYXRpb24iLiBIYXJkd2FyZSBtYW5pcHVsYXRp b24gY291bGQgYmUgY29uc2lkZXJlZCBhIGtpbmQgb2YgKHNvIGZhciBwcm9wcmlldGFyeSkgcHJv dG9jb2wgd2l0aCBkZWZpbmVkIGNvbmZpZ3VyYXRpb24gc2VtYW50aWNzLiBUaGUgYmVoYXZpb3Ig b2Ygc3VjaCBhIHN5c3RlbSBtaWdodCBiZSBleGFjdGx5IGxpa2UgYSAibGF6eSIgc3lzdGVtIGV4 Y2VwdCBpbiB0aGUgIkNvbmZpZ3VyZSBwYXJhbWV0ZXJzIG9mIGludGVyZmFjZSBvbiBpbnNlcnRl ZCBsaW5lIGNhcmQiIHVzZSBjYXNlLCB3aGVyZSBpdCBiZWhhdmVzIGxpa2UgYW4gInVucHJlZGlj dGFibGUiIHN5c3RlbSB3aGVuIHRoZXJlIGlzIG5vIHByaW9yIGNvbmZpZyBmb3IgdGhlIGNhcmQu DQoNClRoYW5rcyBmb3IgcmVhZGluZyB0aGUgVExEUi4NCi9qYW4NCg0KDQpPbiAxOCBBdWcgMjAy MSwgYXQgMDE6MzQsIEFuZHkgQmllcm1hbiA8YW5keUB5dW1hd29ya3MuY29tPG1haWx0bzphbmR5 QHl1bWF3b3Jrcy5jb20+PiB3cm90ZToNCg0KSGksDQoNCkkgZ3Vlc3MgSSBkbyBub3QgYWdyZWUg d2l0aCB0aGUgcHJlbWlzZSBvZiB0aGUgZHJhZnQsIHdoaWNoIGlzIHRoYXQgdGhlIGNsaWVudA0K bmVlZHMgdG8gdGFrZSBvdmVyIGNvbnRyb2wgb2YgdGhlIHN5c3RlbS1jb250cm9sbGVkIGNvbmZp Z3VyYXRpb24uICBJIHdpbGwNCndhaXQgZm9yIGEgZHJhZnQgdXBkYXRlIGFuZCBzZWUgaWYgdGhh dCBoZWxwcyB1bmRlcnN0YW5kIGl0IGJldHRlci4NCg0KDQpBbmR5DQoNCk9uIFR1ZSwgQXVnIDE3 LCAyMDIxIGF0IDExOjIxIEFNIEtlbnQgV2F0c2VuIDxrZW50K2lldGZAd2F0c2VuLm5ldDxtYWls dG86a2VudCUyQmlldGZAd2F0c2VuLm5ldD4+IHdyb3RlOg0KDQo+SU1PIHRoaXMgZHJhZnQgb3Zl cmxhcHMgdGhlIGZhY3RvcnktZGVmYXVsdCBkYXRhc3RvcmUuDQo+VW5mb3J0dW5hdGVseSwgUkZD IDg4MDggZG9lcyBub3QgZG9jdW1lbnQgTk1EQSwgQXBwZW5kaXggQTMgZGV0YWlscw0KPmh0dHBz Oi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvcmZjODM0MiNhcHBlbmRpeC1BLjMNCj5J dCBkb2VzIG5vdCBzYXkgaWYgPGZhY3RvcnktZGVmYXVsdD4gZGF0YXN0b3JlIGZlZWRzIGludG8g PHJ1bm5pbmc+IG9yIGludG8gPGludGVuZGVkPi4NCj5JdCBpcyBub3QgY2xlYXIgaG93IDxzeXN0 ZW0+IHdvdWxkIGludGVyYWN0IHdpdGggb3RoZXIgZGF0YXN0b3Jlcy4NCltRaW5dOiBBcyBkZXNj cmliZWQgaW4gQXBwZW5kaXgtQS4zLCB0d28gd2F5cyB0byBpbnRlcmFjdCB3aXRoIG90aGVyIGRh dGFzdG9yZSBhcmUgZGlzY3Vzc2VkLCBvbmUgaXMgaW50ZXJhY3QgaW1wbGljaXRseSwgdGhlIG90 aGVyIGlzIHRvIHVzZQ0KUlBDIHRvIHRyaWdnZXIgYXBwbGljYXRpb24gb2YgdGhlIGRhdGFzdG9y ZSdzIGRhdGEsIGluIGZhY3RvcnkgZGVmYXVsdCBzZXR0aW5nIGNhc2UsIDxmYWN0b3J5LXJlc2V0 PiBycGMgd2lsbCByZXNldCB0aGUgY29udGVudHMgb2YgYWxsIHJlbGV2YW50IGRhdGFzdG9yZXMg dG8gZmFjdG9yeSBkZWZhdWx0IHN0YXRlLg0KVGhlIGV4dHJlbWUgY2FzZSBvZiBmYWN0b3J5IGRl ZmF1bHQgc3RhdGUgaXMgbm8gY29uZmlndXJhdGlvbiBhdCBhbGwgZm9yIGVhY2ggZGF0YXN0b3Jl Lg0KDQpSaWdodC4gIEFsc28sIHRoZSB3b3JkIOKAnGZsb3figJ0gZG9lc27igJl0IHNlZW0gcXVp dGUgcmlnaHTigKZhdCBsZWFzdCBpbiBteSBtaW5kLCBpdCBzdWdnZXN0cyBhbiBvbmdvaW5nIHJl bGF0aW9uc2hpcCwgd2hlcmVhcyA8ZmFjdG9yeS1kZWZhdWx0PiBpcyByZWFsbHkgZm9yIG9uZS10 aW1lIGluaXRpYWxpemF0aW9ucy4NCg0KRnJvbSBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3Jn L2RvYy9odG1sL3JmYzg4MDgjc2VjdGlvbi0zOg0KDQogICBNYW5hZ2VtZW50IG9wZXJhdGlvbnM6 ICBUaGUgY29udGVudHMgb2YgdGhlIGRhdGFzdG9yZSBpcyBzZXQgYnkgdGhlDQogICAgICBzZXJ2 ZXIgaW4gYW4gaW1wbGVtZW50YXRpb24tZGVwZW5kZW50IG1hbm5lci4gIFRoZSBjb250ZW50cyBj YW5ub3QNCiAgICAgIGJlIGNoYW5nZWQgYnkgbWFuYWdlbWVudCBvcGVyYXRpb25zIHZpYSB0aGUg TmV0d29yayBDb25maWd1cmF0aW9uDQogICAgICBQcm90b2NvbCAoTkVUQ09ORiksIFJFU1RDT05G LCB0aGUgQ0xJLCBldGMuLCB1bmxlc3Mgc3BlY2lhbGl6ZWQsDQogICAgICBkZWRpY2F0ZWQgb3Bl cmF0aW9ucyBhcmUgcHJvdmlkZWQuICBUaGUgZGF0YXN0b3JlIGNhbiBiZSByZWFkDQogICAgICB1 c2luZyB0aGUgc3RhbmRhcmQgTkVUQ09ORi9SRVNUQ09ORiBwcm90b2NvbCBvcGVyYXRpb25zLiAg VGhlDQogICAgICAiZmFjdG9yeS1yZXNldCIgb3BlcmF0aW9uIGNvcGllcyB0aGUgZmFjdG9yeSBk ZWZhdWx0IGNvbnRlbnRzIHRvDQogICAgICA8cnVubmluZz4gYW5kLCBpZiBwcmVzZW50LCA8c3Rh cnR1cD4gYW5kL29yIDxjYW5kaWRhdGU+LiAgVGhlDQogICAgICBjb250ZW50cyBvZiB0aGVzZSBk YXRhc3RvcmVzIGlzIHRoZW4gcHJvcGFnYXRlZCBhdXRvbWF0aWNhbGx5IHRvDQogICAgICBhbnkg b3RoZXIgcmVhZC1vbmx5IGRhdGFzdG9yZXMsIGUuZy4sIDxpbnRlbmRlZD4gYW5kDQogICAgICA8 b3BlcmF0aW9uYWw+Lg0KDQoNCg0KPkl0IGlzIG5vdCBjbGVhciB3aHkgaXQgaXMgZXZlbiBuZWVk ZWQgc2luY2UgPGZhY3RvcnktZGVmYXVsdD4gY29udGFpbnMgb25seSBzeXN0ZW0gc2V0dGluZ3Mu DQpbUWluXTogSSBhZ3JlZSA8ZmFjdG9yeS1kZWZhdWx0PiBjb3VsZCBoYXZlIHN5c3RlbSBzZXR0 aW5nLiBCdXQgdW5zcGVjaWZpZWQgZm9yIHNvbWUgcmVhc29ucy4NCkJhc2VkIG9uIGVhcmxpZXIg ZGlzY3Vzc2lvbiBvbiBmYWN0b3J5IGRlZmF1bHQsIHdoYXQgY29udGVudCBpcyBpbmNsdWRlZCBp biA8ZmFjdG9yeS1kZWZhdWx0PiBhbmQgaG93IHRvIGZvcm1hdCB0aGlzIGNvbnRlbnQsIGUuZy4s IFlBTkcgaW5zdGFuY2UgZmlsZSBmb3JtYXQNCkhhdmUgYmVlbiBydWxlZCBvdXQgb2YgdGhlIHNj b3BlLiBTZWUgdGhlIGRpZmYgaW4gdi0wNw0KaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjZGlmZj91 cmwyPWRyYWZ0LWlldGYtbmV0bW9kLWZhY3RvcnktZGVmYXVsdC0wNy50eHQNCg0KDQpSZWdhcmRs ZXNzLCA8ZmFjdG9yeS1kZWZhdWx0PiBjYW5ub3QgYmUgdXNlZCBmb3IgaW1tdXRhYmxlIOKAnHN5 c3RlbSIgZGVmaW5lZCBvYmplY3RzLCBzaW5jZSBpdOKAmXMgY29udGVudHMgaW5pdGlhbGl6ZSBj bGllbnQtZWRpdGFibGUgZGF0YXN0b3Jlcy4NCg0KDQpLLg0KDQoNCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpuZXRtb2QgbWFpbGluZyBsaXN0DQpuZXRt b2RAaWV0Zi5vcmc8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz4NCmh0dHBzOi8vd3d3LmlldGYub3Jn L21haWxtYW4vbGlzdGluZm8vbmV0bW9kDQoNCg== --_000_AF3746F4F2C443FBBE47E040D8C385CBciscocom_ Content-Type: text/html; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgbGluZS1icmVhazogYWZ0 ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9IiI+SGksPC9kaXY+DQo8ZGl2 IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5Tb3JyeSBmb3Ig Z2V0dGluZyBsYXRlIGludG8gdGhpcyBhbHJlYWR5IHVud2llbGR5IHRocmVhZC4gU2ltaWxhciBk aXNjdXNzaW9ucyBoYXZlIGJlZW4gZmxhcmluZyB1cCByZWd1bGFybHkgZm9yIGFzIGxvbmcgYXMg dGhpcyB3b3JrIGdyb3VwIGhhcyBleGlzdGVkLCBhbmQgd2UgaGF2ZSBuZXZlciBiZWVuIGFibGUg dG8gcHV0IGl0IHRvIGZpbmFsIHJlc3QuIEF0IHRoZSBoZWFydCBvZiB0aGUgaXNzdWUgaXMgdGhl IGFnZQ0KIG9sZCBkaXZpc2lvbiBiZXR3ZWVuICZxdW90O3VucHJlZGljdGFibGUmcXVvdDsgYW5k ICZxdW90O2xhenkmcXVvdDsgbWFuYWdlZCBzeXN0ZW1zIChORVRDT05GIHNlcnZlcnMpLiZuYnNw OzwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9 IiI+VW5wcmVkaWN0YWJsZSBzeXN0ZW1zOiBzeXN0ZW1zIHRoYXQgbW9kaWZ5IGFuZCBleHRlbmQg dGhlaXIgcnVubmluZyBjb25maWd1cmF0aW9uIHNwb250YW5lb3VzbHkgKG91dHNpZGUgc3RhbmRh cmRzKTwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5MYXp5IHN5c3RlbXM6IHN5c3RlbXMgdGhhdCB0cmVh dCBydW5uaW5nIGFzIHNhY3JlZCBzY3JpcHR1cmVzIG9mIHRoZSBnb2RzIChvcGVyYXRvciBjb21t dW5pdHkgYW5kIG1hbmFnZW1lbnQgc3lzdGVtcyk8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNs YXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPlRoZXJlIGFyZSBORVRDT05GIHNlcnZlcnMg b3V0IHRoZXJlIG9mIGJvdGggdHlwZXMgKGFuZCBhY3Jvc3MgdGhlIHNwZWN0cnVtIGluIGJldHdl ZW4pLCB3aXRoIGh1Z2UgaW1wbGVtZW50YXRpb24gaW52ZXN0bWVudHMgYW5kIGZ1dHVyZSBhc3Bp cmF0aW9ucy4gTm90aGluZyBpcyBnb2luZyB0byByZW1vdmUgZWl0aGVyIGFwcHJvYWNoIGZyb20g dGhlIG1hcmtldCBhbnkgdGltZSBzb29uLiBNeSBwb2ludCBpcyB0aGF0IHdoZW4NCiBuZXcgcHJv dG9jb2wgZXh0ZW5zaW9ucyBhcmUgcHJlc2VudGVkLCBzdWNoIGFzIHRoZSBzeXN0ZW0gZGF0YXN0 b3JlLCB0aGVpciBpbXBsaWNhdGlvbnMgbmVlZCB0byBiZSBldmFsdWF0ZWQgZm9yIGJvdGggY2F0 ZWdvcmllcyBvZiBzeXN0ZW1zLjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8 L2Rpdj4NCjxkaXYgY2xhc3M9IiI+VGhlcmUgaGFzIGJlZW4gYSBsYXJnZSBudW1iZXIgb2YgcG9p bnQgcXVlc3Rpb25zIGRpc2N1c3NlZCBpbiB0aGlzIHRocmVhZCwgYW5kIEkgZG9uJ3QgZW52eSB0 aGUgZHJhZnQgYXV0aG9ycyB0byB0cnkgdG8gbWFrZSBzZW5zZSBvZiBpdCBhbGwuIEFuIGludGVy aW0gY2FsbCwgYXMgc3VnZ2VzdGVkIGJ5IEphc29uLCBtYXkgYmUgdGhlIGJlc3QgYW5zd2VyLCBp ZiB0aGUgZHJhZnQgdGVhbSBjYW4gcHV0IHRvZ2V0aGVyIGENCiBtYXRlcmlhbCB3aXRoIGRlY2lz aW9uIHBvaW50cyB0byBjb3Zlci4mbmJzcDs8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNz PSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPkphc29uIG1hZGUgc2V2ZXJhbCBpbXBvcnRhbnQg cG9pbnRzIHRoYXQgSSdkIGxpa2UgdG8gdW5kZXJzY29yZSBpbWhvOjwvZGl2Pg0KPGRpdiBjbGFz cz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PC9kaXY+DQo8YmxvY2tx dW90ZSB0eXBlPSJjaXRlIiBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9IiI+T25lIG9mIHRoZSBwcmV0 dHkgZnVuZGFtZW50YWwgaXNzdWVzIElNTyBpcyB3aGV0aGVyIHdlIHdhbnQgZ29vZCBvbCcgc3Rh bmRhcmQgJmx0O3J1bm5pbmcmZ3Q7IHRvIGFsd2F5cyBiZSB2YWxpZCZuYnNwOyhpbmNsdWRpbmcg Zm9yIGFuIG9mZmxpbmUgY2xpZW50IG9yIHRvb2wgdG8gYmUgYWJsZSB0byB2YWxpZGF0ZSBpbnN0 YW5jZSBkYXRhIHJldHJpZXZlZCBmcm9tIGEgc2VydmVyIGFnYWluc3QgdGhlIFlBTkcmbmJzcDtt b2RlbHMpLjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+ DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+SSBmaW5kIHRoaXMgYW4gZXNzZW50aWFsIGNvbmNlcHQg Zm9yIHJ1bm5pbmcuIE11Y2ggZGVwZW5kcyBvbiB0aGlzIHRlbmV0LjwvZGl2Pg0KPGRpdiBjbGFz cz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiIGNsYXNz PSIiPg0KPGRpdiBjbGFzcz0iIj5JIGFncmVlIHRoZXJlIGNhbiBiZSBkeW5hbWljYWxseSBhZGRl ZCBzeXN0ZW0gY29uZmlnIChlLmcuIGNyZWF0ZSBhIG5ldyBxb3MgcG9saWN5LCBhbmQgc29tZSBx dWV1ZSBsaXN0IGVudHJpZXMmbmJzcDthcmUgYXV0b21hdGljYWxseSBjcmVhdGVkIGluc2lkZSB0 aGF0IHBvbGljeSkuPGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2IGNs YXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5UaGlzIGlzIHRoZSBk ZWZpbmluZyB0cmFpdCBvZiAmcXVvdDt1bnByZWRpY3RhYmxlJnF1b3Q7IHN5c3RlbXMsIGFuZCB0 aGVyZSBhcmUgbWFueSBvZiB0aG9zZS4gVGhlcmUgYXJlIGFsc28gbWFueSAmcXVvdDtsYXp5JnF1 b3Q7IHN5c3RlbXMsIHdoaWNoIHdvdWxkIG5ldmVyIGFsbG93IHRoaXMuPC9kaXY+DQo8ZGl2IGNs YXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5CZXN0IFJlZ2FyZHMs PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPi9qYW48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGRp cj0iYXV0byIgc3R5bGU9IndvcmQtd3JhcDogYnJlYWstd29yZDsgLXdlYmtpdC1uYnNwLW1vZGU6 IHNwYWNlOyBsaW5lLWJyZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsiIGNsYXNzPSIiPg0KPGRpdiBk aXI9ImF1dG8iIHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2Rl OiBzcGFjZTsgbGluZS1icmVhazogYWZ0ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxkaXYg c3R5bGU9IndvcmQtd3JhcDogYnJlYWstd29yZDsgLXdlYmtpdC1uYnNwLW1vZGU6IHNwYWNlOyBs aW5lLWJyZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsiIGNsYXNzPSIiPg0KPGRpdiBzdHlsZT0id29y ZC13cmFwOiBicmVhay13b3JkOyAtd2Via2l0LW5ic3AtbW9kZTogc3BhY2U7IGxpbmUtYnJlYWs6 IGFmdGVyLXdoaXRlLXNwYWNlOyIgY2xhc3M9IiI+DQo8ZGl2IHN0eWxlPSJ3b3JkLXdyYXA6IGJy ZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgbGluZS1icmVhazogYWZ0ZXItd2hp dGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxkaXYgc3R5bGU9IndvcmQtd3JhcDogYnJlYWstd29yZDsg LXdlYmtpdC1uYnNwLW1vZGU6IHNwYWNlOyBsaW5lLWJyZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsi IGNsYXNzPSIiPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2 Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFz cz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0K PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPlRMO0RSIGRlZmluaW5nIHR5cGljYWwgJnF1b3Q7dW5wcmVk aWN0YWJsZSZxdW90OyAoVSkgYW5kICZxdW90O2xhenkmcXVvdDsgKEwpIE5FVENPTkYgc2VydmVy IGJlaGF2aW9yLjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxk aXYgY2xhc3M9IiI+KyBGYWN0b3J5IHJlc2V0PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPlU6IGNyZWF0 ZXMgYSBkZWZhdWx0IHVzZXIsIHNjYW5zIHRoZSBoYXJkd2FyZSBhbmQgaW5qZWN0cyBkZWZhdWx0 IGxpbmUgY2FyZCBjb25maWdzIGluIHJ1bm5pbmc8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+TDogY3Jl YXRlcyBhIGRlZmF1bHQgdXNlciwgc2NhbnMgdGhlIGhhcmR3YXJlIGFuZCBpbmplY3RzIGRlZmF1 bHQgbGluZSBjYXJkIGNvbmZpZ3MgaW4gcnVubmluZzwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIg Y2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+KyBJbnNlcnQgbmV3IGxpbmUgY2FyZDwv ZGl2Pg0KPGRpdiBjbGFzcz0iIj5VOiBjcmVhdGVzIGEgZGVmYXVsdCBjb25maWcgZm9yIGluc2Vy dGVkIGxpbmUgY2FyZCBhbmQgaW50ZXJmYWNlcywgbWF5YmUgYWRkcyBhIHN1aXRhYmxlIGRlZmF1 bHQgc3BlZWQgbGVhZiBkZXBlbmRpbmcgb24gaGFyZHdhcmUgdHlwZTwvZGl2Pg0KPGRpdiBjbGFz cz0iIj5MOiBubyBjaGFuZ2Ugb2YgcnVubmluZywgYnV0IHJlZmxlY3RzIGluc2VydGlvbiBpbiBv cGVyYXRpb25hbCBhbmQgbWF5YmUgd2l0aCBhIG5vdGlmaWNhdGlvbjwvZGl2Pg0KPGRpdiBjbGFz cz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIi PisgQ29uZmlndXJlIHBhcmFtZXRlcnMgb2YgaW50ZXJmYWNlIG9uIGluc2VydGVkIGxpbmUgY2Fy ZDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPlU6IG9ubHkgY2hhbmdlZCBwYXJhbWV0ZXJz IG5lZWQgdG8gYmUgd3JpdHRlbiBhcyBydW5uaW5nIGFscmVhZHkgaGFzIHRoZSBpbnRlcmZhY2U8 L2Rpdj4NCjxkaXYgY2xhc3M9IiI+TDogZW50aXJlIGludGVyZmFjZSBuZWVkcyB0byBiZSBjcmVh dGVkIGluIHJ1bm5pbmcgd2l0aCBkZXNpcmVkIHBhcmFtZXRlcnM8L2Rpdj4NCjxkaXYgY2xhc3M9 IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj4r IFJlbW92ZSB0aGF0IGxpbmUgY2FyZDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPg0KPGRp diBjbGFzcz0iIj5VOiByZW1vdmVzIHRoZSBjb25maWcgZm9yIHRoZSBlamVjdGVkIGxpbmUgY2Fy ZDwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5MOiBubyBjaGFuZ2Ugb2YgcnVubmluZywgYnV0IG9wZXJh dGlvbmFsIG5vdyByZWZsZWN0cyB0aGUgaW50ZXJmYWNlIHN0YXRlIGFzIFtoYXJkd2FyZSBtaXNz aW5nXTwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjwvZGl2Pg0K PGRpdiBjbGFzcz0iIj4rIFJlaW5zZXJ0IHRoZSBsaW5lIGNhcmQ8L2Rpdj4NCjxkaXYgY2xhc3M9 IiI+DQo8ZGl2IGNsYXNzPSIiPlU6IGNyZWF0ZXMgYSBkZWZhdWx0IGNvbmZpZyBmb3IgaW5zZXJ0 ZWQgbGluZSBjYXJkLCBtYXliZSBhZGRzIGEgc3VpdGFibGUgZGVmYXVsdCBzcGVlZCBsZWFmIGRl cGVuZGluZyBvbiBoYXJkd2FyZSB0eXBlPC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+DQo8 ZGl2IGNsYXNzPSIiPkw6IG5vIGNoYW5nZSBvZiBydW5uaW5nLCBidXQgaW50ZXJmYWNlIGNvbWVz IGJhY2sgb24gbGluZSBhcyBwcmV2aW91c2x5IGNvbmZpZ3VyZWQgYW5kIG9wZXJhdGlvbmFsIG5v dyByZWZsZWN0cyB0aGUgaW50ZXJmYWNlIHN0YXRlIGFzIFt1cF08L2Rpdj4NCjxkaXYgY2xhc3M9 IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGNs YXNzPSIiPisgUmVjb25maWd1cmUgdGhlIGludGVyZmFjZSB0eXBlIG9mIGV4aXN0aW5nIGludGVy ZmFjZTwvZGl2Pg0KPGRpdiBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9IiI+VTogcmVqZWN0ZWQ8L2Rp dj4NCjxkaXYgY2xhc3M9IiI+TDogYWNjZXB0ZWQsIGJ1dCBvcGVyYXRpb25hbCBzdGF0ZSBub3cg cmVmbGVjdHMgdGhlIGludGVyZmFjZSBzdGF0ZSBhcyBbaGFyZHdhcmUgbWlzbWF0Y2hdPC9kaXY+ DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNz PSIiPisgUmVjb25maWd1cmUgdGhlIG5hbWUgb2YgYW4gaW50ZXJmYWNlPC9kaXY+DQo8ZGl2IGNs YXNzPSIiPg0KPGRpdiBjbGFzcz0iIj5VOiByZWplY3RlZDwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5M OiBhY2NlcHRlZCBpZiB0aGUgbmFtZSBjb3VsZCBiZSB2YWxpZCBmb3IgdGhpcyBkZXZpY2UsIGJ1 dCBvcGVyYXRpb25hbCBzdGF0ZSBub3cgcmVmbGVjdHMgdGhlIGludGVyZmFjZSBzdGF0ZSBhcyBb aGFyZHdhcmUgbWlzc2luZ108L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9k aXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj4rIEluc3RhbGwgYmFja3VwPC9kaXY+ DQo8ZGl2IGNsYXNzPSIiPlU6IElmIHRoZSBzZXQgb2YgaW50ZXJmYWNlcyBpbiB0aGUgYmFja3Vw IGlzIGEgc3Vic2V0IG9mIGN1cnJlbnRseSBwcmVzZW50IGhhcmR3YXJlLCBpdCBpcyBhY3RpdmF0 ZWQsIG90aGVyd2lzZSByZWplY3RlZDwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5MOiBhY2NlcHRlZC4g SWYgYW55IGhhcmR3YXJlIGlzIGN1cnJlbnRseSBtaXNzaW5nIGFzIGNvbmZpZ3VyZWQgaW4gdGhl IGJhY2t1cCwgdGhlaXIgb3BlcmF0aW9uYWwgc3RhdGUgaXMgc2hvd24gYXMgW2hhcmR3YXJlIG1p c3NpbmddPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBj bGFzcz0iIj5BIHZhcmlhbnQgdGhhdCBmYWxscyBiZXR3ZWVuIFUgYW5kIEwgbWlnaHQgYmUgYSBz eXN0ZW0gdGhhdCBjb25zaWRlcnMgdGhlIGluc2VydGlvbiBvZiBhIGxpbmUgY2FyZCBhbiAmcXVv dDthY3Qgb2YgY29uZmlndXJhdGlvbiZxdW90Oy4gSGFyZHdhcmUgbWFuaXB1bGF0aW9uIGNvdWxk IGJlIGNvbnNpZGVyZWQgYSBraW5kIG9mIChzbyBmYXIgcHJvcHJpZXRhcnkpIHByb3RvY29sIHdp dGggZGVmaW5lZCBjb25maWd1cmF0aW9uIHNlbWFudGljcy4NCiBUaGUgYmVoYXZpb3Igb2Ygc3Vj aCBhIHN5c3RlbSBtaWdodCBiZSBleGFjdGx5IGxpa2UgYSAmcXVvdDtsYXp5JnF1b3Q7IHN5c3Rl bSBleGNlcHQgaW4gdGhlICZxdW90O0NvbmZpZ3VyZSBwYXJhbWV0ZXJzIG9mIGludGVyZmFjZSBv biBpbnNlcnRlZCBsaW5lIGNhcmQmcXVvdDsgdXNlIGNhc2UsIHdoZXJlIGl0IGJlaGF2ZXMgbGlr ZSBhbiAmcXVvdDt1bnByZWRpY3RhYmxlJnF1b3Q7IHN5c3RlbSB3aGVuIHRoZXJlIGlzIG5vIHBy aW9yIGNvbmZpZyBmb3IgdGhlIGNhcmQuPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0i Ij4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5UaGFua3MgZm9yIHJlYWRpbmcgdGhlIFRMRFIuPC9k aXY+DQo8ZGl2IGNsYXNzPSIiPi9qYW48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIi Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdj4NCjxi bG9ja3F1b3RlIHR5cGU9ImNpdGUiIGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj5PbiAxOCBBdWcg MjAyMSwgYXQgMDE6MzQsIEFuZHkgQmllcm1hbiAmbHQ7PGEgaHJlZj0ibWFpbHRvOmFuZHlAeXVt YXdvcmtzLmNvbSIgY2xhc3M9IiI+YW5keUB5dW1hd29ya3MuY29tPC9hPiZndDsgd3JvdGU6PC9k aXY+DQo8YnIgY2xhc3M9IkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPg0KPGRpdiBjbGFzcz0i Ij4NCjxkaXYgZGlyPSJsdHIiIGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj5IaSw8L2Rpdj4NCjxk aXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPkkgZ3Vlc3Mg SSBkbyBub3QgYWdyZWUgd2l0aCB0aGUgcHJlbWlzZSBvZiB0aGUgZHJhZnQsIHdoaWNoIGlzIHRo YXQgdGhlIGNsaWVudDwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5uZWVkcyB0byB0YWtlIG92ZXIgY29u dHJvbCBvZiB0aGUgc3lzdGVtLWNvbnRyb2xsZWQgY29uZmlndXJhdGlvbi4mbmJzcDsgSSB3aWxs PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPndhaXQgZm9yIGEgZHJhZnQgdXBkYXRlIGFuZCBzZWUgaWYg dGhhdCBoZWxwcyB1bmRlcnN0YW5kIGl0IGJldHRlci48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJy IGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0K PGRpdiBjbGFzcz0iIj5BbmR5PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwv ZGl2Pg0KPGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPg0KPGRpdiBkaXI9Imx0ciIgY2xhc3M9Imdt YWlsX2F0dHIiPk9uIFR1ZSwgQXVnIDE3LCAyMDIxIGF0IDExOjIxIEFNIEtlbnQgV2F0c2VuICZs dDs8YSBocmVmPSJtYWlsdG86a2VudCUyQmlldGZAd2F0c2VuLm5ldCIgY2xhc3M9IiI+a2VudCtp ZXRmQHdhdHNlbi5uZXQ8L2E+Jmd0OyB3cm90ZTo8YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxibG9j a3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhl eDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxlZnQ6MWV4 Ij4NCjxkaXYgc3R5bGU9Im92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7IiBjbGFzcz0iIj48YnIg Y2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9 IiI+DQo8ZGl2IGNsYXNzPSIiPg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6SGVsdmV0aWNhO2Zv bnQtc2l6ZToxNHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtm b250LXdlaWdodDpub3JtYWw7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3RleHQtYWxpZ246c3RhcnQ7 dGV4dC1pbmRlbnQ6MHB4O3RleHQtdHJhbnNmb3JtOm5vbmU7d2hpdGUtc3BhY2U6bm9ybWFsO3dv cmQtc3BhY2luZzowcHg7dGV4dC1kZWNvcmF0aW9uOm5vbmUiIGNsYXNzPSIiPg0KPGRpdiBjbGFz cz0iIj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPg0KPGRpdiBzdHlsZT0ibWFyZ2lu OjBjbSAwY20gMC4wMDAxcHQgMjFwdDtmb250LXNpemU6MTJwdDtmb250LWZhbWlseTrlrovkvZMi IGNsYXNzPSIiPg0KPHNwYW4gbGFuZz0iRU4tVVMiIGNsYXNzPSIiPiZndDtJTU8gdGhpcyBkcmFm dCBvdmVybGFwcyB0aGUgZmFjdG9yeS1kZWZhdWx0IGRhdGFzdG9yZS48dSBjbGFzcz0iIj48L3U+ PHUgY2xhc3M9IiI+PC91Pjwvc3Bhbj48L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj4NCjxk aXYgc3R5bGU9Im1hcmdpbjowY20gMGNtIDAuMDAwMXB0IDIxcHQ7Zm9udC1zaXplOjEycHQ7Zm9u dC1mYW1pbHk65a6L5L2TIiBjbGFzcz0iIj4NCjxzcGFuIGxhbmc9IkVOLVVTIiBjbGFzcz0iIj4m Z3Q7VW5mb3J0dW5hdGVseSwgUkZDIDg4MDggZG9lcyBub3QgZG9jdW1lbnQgTk1EQSwgQXBwZW5k aXggQTMgZGV0YWlsczx1IGNsYXNzPSIiPjwvdT48dSBjbGFzcz0iIj48L3U+PC9zcGFuPjwvZGl2 Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPg0KPGRpdiBzdHlsZT0ibWFyZ2luOjBjbSAwY20gMC4w MDAxcHQgMjFwdDtmb250LXNpemU6MTJwdDtmb250LWZhbWlseTrlrovkvZMiIGNsYXNzPSIiPg0K PHNwYW4gbGFuZz0iRU4tVVMiIGNsYXNzPSIiPiZndDs8YSBocmVmPSJodHRwczovL2RhdGF0cmFj a2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzgzNDIjYXBwZW5kaXgtQS4zIiBzdHlsZT0iY29sb3I6 cHVycGxlO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0i Ij5odHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzgzNDIjYXBwZW5kaXgt QS4zPC9hPjx1IGNsYXNzPSIiPjwvdT48dSBjbGFzcz0iIj48L3U+PC9zcGFuPjwvZGl2Pg0KPC9k aXY+DQo8ZGl2IGNsYXNzPSIiPg0KPGRpdiBzdHlsZT0ibWFyZ2luOjBjbSAwY20gMC4wMDAxcHQg MjFwdDtmb250LXNpemU6MTJwdDtmb250LWZhbWlseTrlrovkvZMiIGNsYXNzPSIiPg0KPHNwYW4g bGFuZz0iRU4tVVMiIGNsYXNzPSIiPiZndDtJdCBkb2VzIG5vdCBzYXkgaWYgJmx0O2ZhY3Rvcnkt ZGVmYXVsdCZndDsgZGF0YXN0b3JlIGZlZWRzIGludG8gJmx0O3J1bm5pbmcmZ3Q7IG9yIGludG8g Jmx0O2ludGVuZGVkJmd0Oy48dSBjbGFzcz0iIj48L3U+PHUgY2xhc3M9IiI+PC91Pjwvc3Bhbj48 L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj4NCjxkaXYgc3R5bGU9Im1hcmdpbjowY20gMGNt IDAuMDAwMXB0IDIxcHQ7Zm9udC1zaXplOjEycHQ7Zm9udC1mYW1pbHk65a6L5L2TIiBjbGFzcz0i Ij4NCjxzcGFuIGxhbmc9IkVOLVVTIiBjbGFzcz0iIj4mZ3Q7SXQgaXMgbm90IGNsZWFyIGhvdyAm bHQ7c3lzdGVtJmd0OyB3b3VsZCBpbnRlcmFjdCB3aXRoIG90aGVyIGRhdGFzdG9yZXMuPHNwYW4g c3R5bGU9ImNvbG9yOnJnYigzMSw3MywxMjUpIiBjbGFzcz0iIj48dSBjbGFzcz0iIj48L3U+PHUg Y2xhc3M9IiI+PC91Pjwvc3Bhbj48L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSJtYXJnaW46MGNt IDBjbSAwLjAwMDFwdCAyMXB0O2ZvbnQtc2l6ZToxMnB0O2ZvbnQtZmFtaWx5OuWui+S9kyIgY2xh c3M9IiI+DQo8c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOnJnYigzMSw3MywxMjUpIiBj bGFzcz0iIj5bUWluXTogQXMgZGVzY3JpYmVkIGluIEFwcGVuZGl4LUEuMywgdHdvIHdheXMgdG8g aW50ZXJhY3Qgd2l0aCBvdGhlciBkYXRhc3RvcmUgYXJlIGRpc2N1c3NlZCwgb25lIGlzIGludGVy YWN0IGltcGxpY2l0bHksIHRoZSBvdGhlciBpcyB0byB1c2U8dSBjbGFzcz0iIj48L3U+PHUgY2xh c3M9IiI+PC91Pjwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Im1hcmdpbjowY20gMGNtIDAuMDAw MXB0IDIxcHQ7Zm9udC1zaXplOjEycHQ7Zm9udC1mYW1pbHk65a6L5L2TIiBjbGFzcz0iIj4NCjxz cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6cmdiKDMxLDczLDEyNSkiIGNsYXNzPSIiPlJQ QyB0byB0cmlnZ2VyIGFwcGxpY2F0aW9uIG9mIHRoZSBkYXRhc3RvcmUncyBkYXRhLCBpbiBmYWN0 b3J5IGRlZmF1bHQgc2V0dGluZyBjYXNlLCAmbHQ7ZmFjdG9yeS1yZXNldCZndDsgcnBjIHdpbGwg cmVzZXQgdGhlIGNvbnRlbnRzIG9mIGFsbCByZWxldmFudCBkYXRhc3RvcmVzIHRvIGZhY3Rvcnkg ZGVmYXVsdCBzdGF0ZS48dSBjbGFzcz0iIj48L3U+PHUgY2xhc3M9IiI+PC91Pjwvc3Bhbj48L2Rp dj4NCjxkaXYgc3R5bGU9Im1hcmdpbjowY20gMGNtIDAuMDAwMXB0IDIxcHQ7Zm9udC1zaXplOjEy cHQ7Zm9udC1mYW1pbHk65a6L5L2TIiBjbGFzcz0iIj4NCjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls ZT0iY29sb3I6cmdiKDMxLDczLDEyNSkiIGNsYXNzPSIiPlRoZSBleHRyZW1lIGNhc2Ugb2YgZmFj dG9yeSBkZWZhdWx0IHN0YXRlIGlzIG5vIGNvbmZpZ3VyYXRpb24gYXQgYWxsIGZvciBlYWNoIGRh dGFzdG9yZS48L3NwYW4+PC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwv ZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4N CjxkaXYgY2xhc3M9IiI+UmlnaHQuJm5ic3A7IEFsc28sIHRoZSB3b3JkIOKAnGZsb3figJ0gZG9l c27igJl0IHNlZW0gcXVpdGUgcmlnaHTigKZhdCBsZWFzdCBpbiBteSBtaW5kLCBpdCBzdWdnZXN0 cyBhbiBvbmdvaW5nIHJlbGF0aW9uc2hpcCwgd2hlcmVhcyAmbHQ7ZmFjdG9yeS1kZWZhdWx0Jmd0 OyBpcyByZWFsbHkgZm9yIG9uZS10aW1lIGluaXRpYWxpemF0aW9ucy48L2Rpdj4NCjxkaXYgY2xh c3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPkZyb20mbmJzcDs8YSBo cmVmPSJodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzg4MDgjc2VjdGlv bi0zOiIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSIiPmh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5v cmcvZG9jL2h0bWwvcmZjODgwOCNzZWN0aW9uLTM6PC9hPjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48 YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPiZuYnNw OyAmbmJzcDtNYW5hZ2VtZW50IG9wZXJhdGlvbnM6ICZuYnNwO1RoZSBjb250ZW50cyBvZiB0aGUg ZGF0YXN0b3JlIGlzIHNldCBieSB0aGU8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgc2VydmVyIGluIGFuIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudCBtYW5uZXIuJm5i c3A7IFRoZSBjb250ZW50cyBjYW5ub3Q8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+Jm5ic3A7ICZuYnNw OyAmbmJzcDsgYmUgY2hhbmdlZCBieSBtYW5hZ2VtZW50IG9wZXJhdGlvbnMgdmlhIHRoZSBOZXR3 b3JrIENvbmZpZ3VyYXRpb248L2Rpdj4NCjxkaXYgY2xhc3M9IiI+Jm5ic3A7ICZuYnNwOyAmbmJz cDsgUHJvdG9jb2wgKE5FVENPTkYpLCBSRVNUQ09ORiwgdGhlIENMSSwgZXRjLiwgdW5sZXNzIHNw ZWNpYWxpemVkLDwvZGl2Pg0KPGRpdiBjbGFzcz0iIj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBkZWRp Y2F0ZWQgb3BlcmF0aW9ucyBhcmUgcHJvdmlkZWQuJm5ic3A7IFRoZSBkYXRhc3RvcmUgY2FuIGJl IHJlYWQ8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgdXNpbmcgdGhl IHN0YW5kYXJkIE5FVENPTkYvUkVTVENPTkYgcHJvdG9jb2wgb3BlcmF0aW9ucy4mbmJzcDsgVGhl PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZxdW90O2ZhY3Rvcnkt cmVzZXQmcXVvdDsgb3BlcmF0aW9uIGNvcGllcyB0aGUgZmFjdG9yeSBkZWZhdWx0IGNvbnRlbnRz IHRvPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZsdDtydW5uaW5n Jmd0OyBhbmQsIGlmIHByZXNlbnQsICZsdDtzdGFydHVwJmd0OyBhbmQvb3IgJmx0O2NhbmRpZGF0 ZSZndDsuJm5ic3A7IFRoZTwvZGl2Pg0KPGRpdiBjbGFzcz0iIj4mbmJzcDsgJm5ic3A7ICZuYnNw OyBjb250ZW50cyBvZiB0aGVzZSBkYXRhc3RvcmVzIGlzIHRoZW4gcHJvcGFnYXRlZCBhdXRvbWF0 aWNhbGx5IHRvPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPiZuYnNwOyAmbmJzcDsgJm5ic3A7IGFueSBv dGhlciByZWFkLW9ubHkgZGF0YXN0b3JlcywgZS5nLiwgJmx0O2ludGVuZGVkJmd0OyBhbmQ8L2Rp dj4NCjxkaXYgY2xhc3M9IiI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJmx0O29wZXJhdGlvbmFsJmd0 Oy48L2Rpdj4NCjxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGJyIGNsYXNz PSIiPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9IiI+DQo8ZGl2IHN0eWxlPSJmb250 LWZhbWlseTpIZWx2ZXRpY2E7Zm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12 YXJpYW50LWNhcHM6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtsZXR0ZXItc3BhY2luZzpub3Jt YWw7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWluZGVudDowcHg7dGV4dC10cmFuc2Zvcm06bm9uZTt3 aGl0ZS1zcGFjZTpub3JtYWw7d29yZC1zcGFjaW5nOjBweDt0ZXh0LWRlY29yYXRpb246bm9uZSIg Y2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9IiI+ DQo8ZGl2IHN0eWxlPSJtYXJnaW46MGNtIDBjbSAwLjAwMDFwdCAyMXB0O2ZvbnQtc2l6ZToxMnB0 O2ZvbnQtZmFtaWx5OuWui+S9kyIgY2xhc3M9IiI+DQo8c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9 ImNvbG9yOnJnYigzMSw3MywxMjUpIiBjbGFzcz0iIj48dSBjbGFzcz0iIj48L3U+PHUgY2xhc3M9 IiI+PC91Pjwvc3Bhbj48L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj4NCjxkaXYgc3R5bGU9 Im1hcmdpbjowY20gMGNtIDAuMDAwMXB0IDIxcHQ7Zm9udC1zaXplOjEycHQ7Zm9udC1mYW1pbHk6 5a6L5L2TIiBjbGFzcz0iIj4NCjxzcGFuIGxhbmc9IkVOLVVTIiBjbGFzcz0iIj4mZ3Q7SXQgaXMg bm90IGNsZWFyIHdoeSBpdCBpcyBldmVuIG5lZWRlZCBzaW5jZSAmbHQ7ZmFjdG9yeS1kZWZhdWx0 Jmd0OyBjb250YWlucyBvbmx5IHN5c3RlbSBzZXR0aW5ncy48dSBjbGFzcz0iIj48L3U+PHUgY2xh c3M9IiI+PC91Pjwvc3Bhbj48L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj4NCjxkaXYgc3R5 bGU9Im1hcmdpbjowY20gMGNtIDAuMDAwMXB0IDIxcHQ7Zm9udC1zaXplOjEycHQ7Zm9udC1mYW1p bHk65a6L5L2TIiBjbGFzcz0iIj4NCjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6cmdi KDMxLDczLDEyNSkiIGNsYXNzPSIiPltRaW5dOiBJIGFncmVlICZsdDtmYWN0b3J5LWRlZmF1bHQm Z3Q7IGNvdWxkIGhhdmUgc3lzdGVtIHNldHRpbmcuIEJ1dCB1bnNwZWNpZmllZCBmb3Igc29tZSBy ZWFzb25zLjx1IGNsYXNzPSIiPjwvdT48dSBjbGFzcz0iIj48L3U+PC9zcGFuPjwvZGl2Pg0KPGRp diBzdHlsZT0ibWFyZ2luOjBjbSAwY20gMC4wMDAxcHQgMjFwdDtmb250LXNpemU6MTJwdDtmb250 LWZhbWlseTrlrovkvZMiIGNsYXNzPSIiPg0KPHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xv cjpyZ2IoMzEsNzMsMTI1KSIgY2xhc3M9IiI+QmFzZWQgb24gZWFybGllciBkaXNjdXNzaW9uIG9u IGZhY3RvcnkgZGVmYXVsdCwgd2hhdCBjb250ZW50IGlzIGluY2x1ZGVkIGluICZsdDtmYWN0b3J5 LWRlZmF1bHQmZ3Q7IGFuZCBob3cgdG8gZm9ybWF0IHRoaXMgY29udGVudCwgZS5nLiwgWUFORyBp bnN0YW5jZSBmaWxlIGZvcm1hdDx1IGNsYXNzPSIiPjwvdT48dSBjbGFzcz0iIj48L3U+PC9zcGFu PjwvZGl2Pg0KPGRpdiBzdHlsZT0ibWFyZ2luOjBjbSAwY20gMC4wMDAxcHQgMjFwdDtmb250LXNp emU6MTJwdDtmb250LWZhbWlseTrlrovkvZMiIGNsYXNzPSIiPg0KPHNwYW4gbGFuZz0iRU4tVVMi IHN0eWxlPSJjb2xvcjpyZ2IoMzEsNzMsMTI1KSIgY2xhc3M9IiI+SGF2ZSBiZWVuIHJ1bGVkIG91 dCBvZiB0aGUgc2NvcGUuIFNlZSB0aGUgZGlmZiBpbiB2LTA3PHUgY2xhc3M9IiI+PC91Pjx1IGNs YXNzPSIiPjwvdT48L3NwYW4+PC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IHN0 eWxlPSJtYXJnaW46MGNtIDBjbSAwLjAwMDFwdCAyMXB0O2ZvbnQtc2l6ZToxMnB0O2ZvbnQtZmFt aWx5OuWui+S9kyIgY2xhc3M9IiI+DQo8c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOnJn YigzMSw3MywxMjUpIiBjbGFzcz0iIj48YSBocmVmPSJodHRwczovL3d3dy5pZXRmLm9yZy9yZmNk aWZmP3VybDI9ZHJhZnQtaWV0Zi1uZXRtb2QtZmFjdG9yeS1kZWZhdWx0LTA3LnR4dCIgc3R5bGU9 ImNvbG9yOnB1cnBsZTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIiB0YXJnZXQ9Il9ibGFuayIg Y2xhc3M9IiI+aHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjZGlmZj91cmwyPWRyYWZ0LWlldGYtbmV0 bW9kLWZhY3RvcnktZGVmYXVsdC0wNy50eHQ8L2E+PC9zcGFuPjwvZGl2Pg0KPC9kaXY+DQo8L2Rp dj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFz cz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYg Y2xhc3M9IiI+UmVnYXJkbGVzcywgJmx0O2ZhY3RvcnktZGVmYXVsdCZndDsgY2Fubm90IGJlIHVz ZWQgZm9yIGltbXV0YWJsZSDigJxzeXN0ZW0mcXVvdDsgZGVmaW5lZCBvYmplY3RzLCBzaW5jZSBp dOKAmXMgY29udGVudHMgaW5pdGlhbGl6ZSBjbGllbnQtZWRpdGFibGUgZGF0YXN0b3Jlcy48L2Rp dj4NCjwvZGl2Pg0KPGJyIGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8 L2Rpdj4NCjxkaXYgY2xhc3M9IiI+Sy48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIi Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPC9kaXY+DQo8 L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjwvZGl2Pg0KX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX188YnIgY2xhc3M9IiI+DQpuZXRtb2QgbWFpbGluZyBsaXN0PGJy IGNsYXNzPSIiPg0KPGEgaHJlZj0ibWFpbHRvOm5ldG1vZEBpZXRmLm9yZyIgY2xhc3M9IiI+bmV0 bW9kQGlldGYub3JnPC9hPjxiciBjbGFzcz0iIj4NCmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxt YW4vbGlzdGluZm8vbmV0bW9kPGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8 L2Rpdj4NCjxiciBjbGFzcz0iIj4NCjwvYm9keT4NCjwvaHRtbD4NCg== --_000_AF3746F4F2C443FBBE47E040D8C385CBciscocom_-- From nobody Mon Aug 23 05:17:39 2021 Return-Path: X-Original-To: netmod@ietfa.amsl.com Delivered-To: netmod@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BF17A3A10E2 for ; Mon, 23 Aug 2021 05:17:37 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.542 X-Spam-Level: X-Spam-Status: No, score=-2.542 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.452, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, T_SPF_HELO_TEMPERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FrTBAFTbM7g5 for ; Mon, 23 Aug 2021 05:17:31 -0700 (PDT) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150054.outbound.protection.outlook.com [40.107.15.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D93913A10DB for ; Mon, 23 Aug 2021 05:17:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eqDOBIygrYa76HUzjsQyyD/PYrT4su/78y3F0zfyfrP8dTJSQbQFokodu26VRqflBfO/ByKIJiqb4mLFjr+G2LodDz2qWxIarKD/zeRnsqSkJXIh123rR7MWwJKIBWDvUq+zTtXCSp4DZD0ZopaFtfLKwV/ahgS/BfcHoqRIKuhPqu5OL/+ZHw/8xb+vHTYislzksWKY9GJ2x4y6CU04rA2XrseV2gCrTQExQVhlYTtdI0Q/3VQ2x/bCtcCEKzN0ZVFCYw/fncRRfTDT+4lAENacGpzvosHiXWqP6A/5+PEhLybsCZsletpsIlKbeoQNXCEkq3K7c/ao7tYuQseKZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EOXv07xyJKB7nWjgJ1YM56Y24PT+nHAzwwcpV36AE10=; b=B4HXVhex/o64t3sb6KmRr6l7uunhNbeOqgyTF82mficyzoy0BhJH5rIDefdjmPELywQWgGJ0R1YkuCyAoHQCNV6fUevOvsjmFVMRy/mFQt3kz+hH1s1R1GezjMa79mEbeyCB/8DYVy/ZCN6WuMFdJEiwLIsKg9w51BRQMeZ76g996FFDzmFgXpjGuK2GhuqRfpHdGlmJhdCh7nsBkQgdFo47gZLFjKzJ1zpDOyihxv2CPH7gzaPlAymPUBjfox5PGcBG51hWr2SptBEdb0ST6s2/T7t8IkubSGT1u3EY5I6CumQmGeiHkcpMQV54dgA7Qhm0NpKD9MdTGVmN7fT1RA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EOXv07xyJKB7nWjgJ1YM56Y24PT+nHAzwwcpV36AE10=; b=TjkKVT0+r+y6/7mQshw+rorighGAsf8a/OX90NAQ57ruiYobDnS9xNzoLskjr66hIR4vN/tOpfZkfBguImgjUIiZw0qgyYdG0bCigj2xy/Y+TF5dLZZWg/BM4fBBTtc4xg67MbR3WNQwSLIIqOJKkP/pGMNZ8WSAM5QQNxZqnzs= Received: from AM8PR07MB8230.eurprd07.prod.outlook.com (2603:10a6:20b:325::15) by AM8PR07MB8140.eurprd07.prod.outlook.com (2603:10a6:20b:36f::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.5; Mon, 23 Aug 2021 12:17:24 +0000 Received: from AM8PR07MB8230.eurprd07.prod.outlook.com ([fe80::c4ed:5ded:f1a0:dafd]) by AM8PR07MB8230.eurprd07.prod.outlook.com ([fe80::c4ed:5ded:f1a0:dafd%3]) with mapi id 15.20.4436.017; Mon, 23 Aug 2021 12:17:24 +0000 From: =?utf-8?B?QmFsw6F6cyBMZW5neWVs?= To: "Rob Wilton (rwilton)" , Andy Bierman , NetMod WG Thread-Topic: [netmod] yang-instance-file include-defaults leaf Thread-Index: AQHXdB0ScDY6rhEwiUCIGrL2qSijE6s6kiOAgAHaXQCAGqYDAIAB/JVwgCgblQCAAByt4A== Date: Mon, 23 Aug 2021 12:17:24 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: authentication-results: cisco.com; dkim=none (message not signed) header.d=none;cisco.com; dmarc=none action=none header.from=ericsson.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ce198923-ddeb-49e6-4ac5-08d9662ff718 x-ms-traffictypediagnostic: AM8PR07MB8140: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 76P4R/Yk4CyaQVlAgB+6PMU6o7WrDyolUfSIYjEXsDoq4Rb5Sf3sHEGIYhudGAMT6QoMBKDNyzoHs9wjORB+0zZDvDgEl+u4OzVpN5H3JWBa4lTemkp7c18n1SATKjU6a5cz99YvXlhHpw/G2TeYfxHXLpmnVpaLg26srtQuy98LRzthPFypvTkIOw1i/HWKbeK2i+e4omOagTZC2Yfc5N1OA/Ejv1y6a8B/XnrlWrnvKdPZYR0GV0Pion/soKkqmKKHQqTyrga1yxhHXsvXoHPY4maqz99aaVOaBeks7m38uBMvrSjWDxee9u7lW+Rga8auoeD1fgUailWLaPZZ7Wro1fFoKMR0HyX8AjXvh8nTMXJKDLavxL7JyfgasPfS2GW17Eyyzh+xFZZEIbuWog2idWSgj6xd94CjftvbO6ZQQr8PPv/BvABzJbEY2UI1UyqU7QQD6hk9DDuwuQXKIHgdnN4wEoJ6yujJqc499DfojIV0zkmivZ1yNmB6RVv6aFAdruGTzZGh/+mxqj9ZyhHTTeKpvIrGUaRK3wLjJcEe2x8DB8cXwZLdJWgj43argrU37dWnmgdEustH4OQzCTsBrG++ckHpHDiAQaAed7XO/PxTjfxauedU0yl1eOPOcLzX0WFqxOghcxn9vln4gTMcTaLynY9QLI2aSBmIclIElLB008i8eo3yvquMG+vIO7ckHQF+VEF/BcpU/1viqw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM8PR07MB8230.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(366004)(396003)(346002)(376002)(39860400002)(52536014)(85202003)(2906002)(7696005)(8936002)(83380400001)(38070700005)(26005)(66574015)(186003)(9686003)(9326002)(122000001)(8676002)(66946007)(99936003)(316002)(71200400001)(6506007)(66556008)(66476007)(33656002)(53546011)(76116006)(86362001)(55016002)(66616009)(5660300002)(85182001)(66446008)(38100700002)(478600001)(64756008)(110136005)(579004)(559001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ajNvVURYdWk2NUxDUSsxNHpuM2xPVU5Qbk5hL1JENjFmTjZ2R25PWm9nNDA1?= =?utf-8?B?RUd1dVBPcitYVWpkalZnV21OMHNQeWNGRnVsTGJQbGJ3cFNtOEppelBJcTd1?= =?utf-8?B?cGl3NCt5ekhZNTJzenpmUDM5VjBmcmF4NUNjcFo4V0lWMmZXRmFMQlN1cnla?= =?utf-8?B?SnpCUmZGS2pBOXZjdURCM3lrOE94Mmxwb0NkRFlRRzEzOElqNmFValNwRGlR?= =?utf-8?B?VzVKSjVQTDk5YW82WExBaWx5b3podG1vM1pyRzR0TjR4NDBld3NkeFJaRHF0?= =?utf-8?B?SjBiSXFwcXZvSXVSc2lZK2tVNG5uTUlwNGpYWllyYlFDMlM3NnQ4Sk1lb2Mr?= =?utf-8?B?bmhHMWloT2w3QUNCY2tNM1NSbTh5c0x4KzN1SnNnaXo3a0VNR2tJWlJ2MmVM?= =?utf-8?B?QzFnenBjbVFYOVA5T3VNSDhrWHBTOHBVL0RnSHh3RklMaGw1YXFwSnBSV0pI?= =?utf-8?B?YkFWM1EwWWJKR1NrVjV5S3BBS3g0OG9VVEl5RWI0L041WGRaL3pvN3NwdlQz?= =?utf-8?B?SStGblFBVkM5SGNmOU8zNjRlTm1MYUlYZVczVTJpOWJaenBaMy81bTZkMEVJ?= =?utf-8?B?Q0lYTENLaUFScGEvVUtoQVU5N0NDeEk1L0JYUC95K0ZOdnIwWGVWOEVxd0tF?= =?utf-8?B?clplQm1LVk1NUXlyZDhzRXZxTC9oMElkTmhQdzNHVDE2NUVjT2x1ZTFnNWd0?= =?utf-8?B?S3ZGMGhpazdOV0UyNGRYUWxsTE5QYXBpR3JCK3BmTU8vNmNjTm9UL1czOVR1?= =?utf-8?B?UktpT1NlMHhJVFJjRTVpUHZTbUZLVlo4MDRuSERhaVhSSHYyZi9oaWFUNm1E?= =?utf-8?B?bFVHUWVTbm0xSDhST2lNcXg0Nkd4YkRWMXVKR3hScTcyQ3kwbC9xdjhSR0g5?= =?utf-8?B?ZkRDSDVnYk1xalBaalMxaHFQQnRRNVlBMEl6TlFGRGlMVmljRlozY2duT1FN?= =?utf-8?B?QWMwa0drMUFUNzNzenlsZlZUTnNENG5uOWFwbkZDWGxDV3crbzM0eVRqaU9k?= =?utf-8?B?cHZ6NCtXOEhoWmdrOCtmdjllOHhORVRsaHdrUzBJUWZSRmNSYWpQNlp6Tjhw?= =?utf-8?B?c0ZIT2UrTEI0b1NyZGNmMU5KNWVsZlNUZnJyVk1UdmNONkNjY3IyN0I2NGZJ?= =?utf-8?B?NEh2bTZwa1R0UExLNHVmdzRsOGprMU9jWnJUTFZ2UnZLZldkaVFFSys4RFFk?= =?utf-8?B?SXRyT2pmdUVMSEJtQkZCTkVlT1djeHN6OCtJb1JvQ3BYWDBJNTBOOTNVc2l2?= =?utf-8?B?djdQSWF3bVdTK1VLNmVXbFZORDgrMlc5OXRWRXRVMWlScHNwZ2hXZ3o5Z1NY?= =?utf-8?B?eGYxSmloNDZzSGZaS2RZTzZXaFBWajNwUmE2UTl5c2VKZDJ6MTNlb21OaGYr?= =?utf-8?B?eEJwNU5mZnJmeTl4QVoxdVpOVXpHdzRDN2h1Mmp5dWZaUkIvcG54dXJRT2lB?= =?utf-8?B?blVjdFE5U2tYSjd1TnpCR1B4b0FjK2hoeXh6S3V5enI0THYwZ3lLNmd3akw4?= =?utf-8?B?MGZqanpOaXJNZTB5RW8vcVBGOHFORFZQK1Q0OU9GK0dxOXZabE1IZjdGaThz?= =?utf-8?B?dVlUb3kycEI4b1VtRVIxNGljV0o2TysydTdxRFUvKzcrRTBJNEx0SG9RU2RI?= =?utf-8?B?VitVRGFFaVF6MWYxZFZKL0kwZUg5Z3BZRUJhdlZRblZDVTBra3BCMnJVNGRU?= =?utf-8?B?bzRhc0Mvam92UlpiN2phdXRQZlF5Um11LytRbFNHRndvK3hFSTRYZUxuTUpH?= =?utf-8?Q?LtyyaC2sfnnijxOLXo=3D?= x-ms-exchange-transport-forked: True Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=SHA1; boundary="----=_NextPart_000_006E_01D79829.9719F1E0" MIME-Version: 1.0 X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM8PR07MB8230.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ce198923-ddeb-49e6-4ac5-08d9662ff718 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Aug 2021 12:17:24.3929 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 3/GcC7lriyGkIqqkaT8yfTg5dIR8o2H8V+879KR+dgYrS10frDLvfsmd9Tz/O+PxGghDiqu8kCiwfSJ/tDgySp2X9KaDpt6z6xvYA/DLxJw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR07MB8140 Archived-At: Subject: Re: [netmod] yang-instance-file include-defaults leaf X-BeenThere: netmod@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: NETMOD WG list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2021 12:17:38 -0000 ------=_NextPart_000_006E_01D79829.9719F1E0 Content-Type: multipart/alternative; boundary="----=_NextPart_001_006F_01D79829.9719F1E0" ------=_NextPart_001_006F_01D79829.9719F1E0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello Rob, I think this won=E2=80=99t fly.=20 In sections 1.2 and 2 we state: =E2=80=9CInstance data files MAY contain partial data sets.=E2=80=9D Which is important for many use-cases. This means you cannot say that a = default value will or must be included, as they might be omitted because = they are not part of the partial data set. In a way it is difficult to separate between leaves that are missing = because - They are not part of the partial data-set - They are omitted because they have the default value and one of = the trim or explicit options is used If this becomes important the report-all options shall be used. =20 This is the reason I used the SHOULD word. Regards Balazs =20 From: Rob Wilton (rwilton) =20 Sent: 2021. augusztus 23., h=C3=A9tf=C5=91 12:27 To: Bal=C3=A1zs Lengyel ; Andy Bierman = ; NetMod WG Subject: RE: [netmod] yang-instance-file include-defaults leaf =20 Hi Balazs, Andy, Netmod, =20 Sorry for the delayed response. I would still like to strength the = description of the defaults. E.g., RFC 6243 uses MUSTs rather than = SHOULDs. =20 Hence, I have generated some proposed alternative descriptions, that are = somewhat stricter, but also more generically focussed only on the = default values. =20 With these definitions, I think that we could define the = =E2=80=9Cinclude-defaults=E2=80=9D default value to be = =E2=80=9Cexplicit=E2=80=9D, since if the leaf if not included, then I = think that this effectively what the meaning would be anyway. =20 =20 In particular, I would propose changing the descriptions as follows: =20 leaf includes-defaults { type enumeration { enum report-all { value 1; description "All data nodes SHOULD be included independent of any default values."; } enum trim { value 2; description "Data nodes that have a default defined and where the actual value is the default value SHOULD NOT be included."; } enum explicit { value 3; description "Data nodes that have a default defined and where the actual value is the default value SHOULD NOT be included. However, if the actual value was set by a NETCONF client or other management application by the way of an explicit management operation the data node SHOULD be included."; } } =20 Proposed: =20 leaf includes-defaults { type enumeration { enum report-all { value 1; description "The instance data set includes all data nodes, including those that contain the schema = default.=E2=80=9D; } enum trim { value 2; description "The instance data set excludes all data nodes that contain the schema default."; } enum explicit { value 3; description "The instance data set may include some data nodes that match the schema default and may exclude some data nodes that match the schema default.=E2=80=9D; } } description "This leaf provides an indication of how default data is presented within an instance data set, modelled on RFC 6243. =20 Interpretation of the use of defaults depends on the context of what the instance data set represents. =20 E.g., if the instance data set represents configuration, Then include-defaults aligns to the meaning of the default-handling basic modes in RFC 6243. If the instance data set represents operational data from the=20 operational state datastore [RFC 8342], then include-defaults aligns to the definition of that datastore in RFC 8342.=E2=80=9D; =20 Would text along these lines work? =20 Thanks, Rob =20 =20 From: Bal=C3=A1zs Lengyel >=20 Sent: 28 July 2021 23:08 To: Rob Wilton (rwilton) = >; Andy Bierman > Cc: NetMod WG > Subject: RE: [netmod] yang-instance-file include-defaults leaf =20 Hello Rob, Removing the =E2=80=9Cdefault trim;=E2=80=9D will address Andy=E2=80=99s = comment. =20 Your in-use-values is very specific to one of the use-cases: = reading/documenting operational values. It is not useful for the other = use-cases. I think the =E2=80=9Cdocumenting operational = datastore=E2=80=9D use-case could be handled by indicating the = includes-defaults=3Dreport-all. Case (i) would contain the value case = (ii) will not. Regards Balazs =20 From: Rob Wilton (rwilton) = >=20 Sent: 2021. j=C3=BAlius 27., kedd 17:38 To: Andy Bierman >; = Bal=C3=A1zs Lengyel > Cc: NetMod WG > Subject: RE: [netmod] yang-instance-file include-defaults leaf =20 Hi Andy, Balazs, =20 So, the reason that I want a flag to indicate whether default values are = in use is because of this definition of operational in RFC 8342: =20 Requests to retrieve nodes from always return the value in use if the node exists, regardless of any default value specified in the YANG module. If no value is returned for a given node, then this implies that the node is not used by the device. =20 It was written this way because otherwise a consumer of operational data = cannot differentiate between: (i) This value is not present because it matches the = default value specified in the YANG module, and (ii) This value is not present because the server has = failed to return it for some reason (e.g., perhaps the daemon that would = have provided this value is down or not available, or perhaps it is a = bug, or perhaps it is not implemented and is a missing deviation). =20 So, I think that in some cases, the absence of a data node does not = necessarily mean that the default value is in effect, and I wanted the = instance-data document to be able to contain and correctly report this = data. =20 I think that this behaviour could be captured by a single leaf. Another = way of articulating this would be: =20 leaf in-use-values { type boolean; default false; description =E2=80=9COnly if set to true, the absence of a value in the instance data for a given data node implies that the node is not used rather than implicitly taking the default value specified by any corresponding =E2=80=98default=E2=80=99 statement specified in the YANG = schema.=E2=80=9D; } =20 With this, I=E2=80=99m not sure whether we need the = =E2=80=9Cincludes-default=E2=80=9D leaf currently specified in the = draft, but if we do, then I would think that leaf should be entirely = optional, i.e., without the default =E2=80=9Ctrim=E2=80=9D. =20 Regards, Rob =20 =20 From: Andy Bierman >=20 Sent: 10 July 2021 17:41 To: Rob Wilton (rwilton) > Cc: NetMod WG >; Bal=C3=A1zs = Lengyel > Subject: Re: [netmod] yang-instance-file include-defaults leaf =20 =20 =20 On Fri, Jul 9, 2021 at 5:23 AM Rob Wilton (rwilton) > wrote: Andy, =20 Yes, when I suggested this, I was thinking that a boolean flag might be = sufficient. My point being that automatically filtering out default = values isn=E2=80=99t always the right thing to do. =20 =20 =20 The solution is simple. Get rid of the inappropriate "default trim" statement. =20 If the leaf is present then it identifies the basic-mode that was used = to include defaults. If not then the information is either not known, not applicable, or = defaults were not added. =20 The "default" statement is a bug because there is no default basic-mode. All of the basic-modes are in use in deployments and no camp has ever been able to convince the others that theirs is right. =20 =20 Andy =20 E.g., something along these lines: =20 leaf exclude-defaults { type boolean; default true; description =E2=80=9CCan be used to reduce the size of the content data file. =20 When unset or set to true, data nodes that have a default defined = and where the actual value is the default value are excluded from the = content data. =20 When set to false, data nodes with default value are not filtered, = and may appear in the content data.=E2=80=9D } =20 Would this satisfy your concern? =20 Regards, Rob =20 =20 From: netmod > = On Behalf Of Andy Bierman Sent: 08 July 2021 18:16 To: NetMod WG > Subject: [netmod] yang-instance-file include-defaults leaf =20 Hi, =20 The module has this object: =20 leaf includes-defaults { type enumeration { enum report-all { value 1; description "All data nodes SHOULD be included independent of any default values."; } enum trim { value 2; description "Data nodes that have a default defined and where the actual value is the default value SHOULD NOT be included."; } enum explicit { value 3; description "Data nodes that have a default defined and where the actual value is the default value SHOULD NOT be included. However, if the actual value was set by a NETCONF client or other management application by the way of an explicit management operation the data node SHOULD be included."; } } default trim; =20 The draft is extremely server-centric, like most IETF standards, but = this leaf is too server-centric to ignore. =20 Consider the possibility that the source of the file is NOT a NETCONF = server. This data may not be known so the default of "trim" may not be correct. =20 IMO this leaf is noise because any tool that knows the schema will also know the YANG defaults. The solution is incomplete anyway because the presence of a leaf that has a YANG default is not enough. The "report-all-tagged" mode must be used to identify defaults. IMO this leaf should be removed, but at least add an enum called = "unknown". =20 =20 Andy =20 =20 ------=_NextPart_001_006F_01D79829.9719F1E0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable

Hello Rob,

I think this won=E2=80=99t fly.

In sections 1.2 and 2 we = state:

=E2=80=9CInstance data files MAY contain partial data =
sets.=E2=80=9D
Which is =
important for many use-cases. =C2=A0This means you cannot say that a =
default value will or must be included, as they might be omitted because =
they are not part of the partial data =
set.
In a way it =
is difficult to separate between leaves that are missing =
because
-        =
They are not =
part of the partial data-set
-        =
They are =
omitted because they have the default value and one of the trim or =
explicit options is used
If this =
becomes important the report-all =
options =
shall be used.
 
This is the =
reason I used the SHOULD word.
Regards =
Balazs

 

From: Rob Wilton (rwilton) = <rwilton@cisco.com>
Sent: 2021. augusztus 23., = h=C3=A9tf=C5=91 12:27
To: Bal=C3=A1zs Lengyel = <balazs.lengyel@ericsson.com>; Andy Bierman = <andy@yumaworks.com>; NetMod WG = <netmod@ietf.org>
Subject: RE: [netmod] = yang-instance-file include-defaults leaf

 

Hi Balazs, Andy, Netmod,

 

Sorry for the delayed = response.  I would still like to strength the description of the = defaults.  E.g., RFC 6243 uses MUSTs rather than = SHOULDs.

 

Hence, I have generated some proposed alternative = descriptions, that are somewhat stricter, but also more generically = focussed only on the default values.

 

With these definitions, I think = that we could define the =E2=80=9Cinclude-defaults=E2=80=9D default = value to be =E2=80=9Cexplicit=E2=80=9D, since if the leaf if not = included, then I think that this effectively what the meaning would be = anyway.

 

 

In particular, I would propose changing the descriptions as = follows:

 

       leaf = includes-defaults {

         type = enumeration {

         &= nbsp; enum report-all {

         &= nbsp;   value 1;

         &= nbsp;   description

         &= nbsp;     "All data nodes SHOULD be included = independent of

         &= nbsp;       any default = values.";

         &= nbsp; }

         &= nbsp; enum trim {

         &= nbsp;   value 2;

         &= nbsp;   description

         &= nbsp;     "Data nodes that have a default = defined and where

         &= nbsp;       the actual value is the = default value SHOULD

         &= nbsp;       NOT be = included.";

         &= nbsp; }

         &= nbsp; enum explicit {

         &= nbsp;   value 3;

         &= nbsp;   description

         &= nbsp;     "Data nodes that have a default = defined and where

         &= nbsp;       the actual value is the = default value SHOULD NOT be

         &= nbsp;       included. However, if the = actual value was set by

         &= nbsp;       a NETCONF client or other = management application

         &= nbsp;       by the way of an explicit = management operation the

         &= nbsp;       data node SHOULD be = included.";

         &= nbsp; }

         = }

     =  

Proposed:

 

       leaf = includes-defaults {

         type = enumeration {

         &= nbsp; enum report-all {

         &= nbsp;   value 1;

         &= nbsp;   description

         &= nbsp;     "The instance data set includes all = data nodes,

         &= nbsp;      including those that contain the = schema default.=E2=80=9D;

         &= nbsp; }

         &= nbsp; enum trim {

         &= nbsp;   value 2;

         &= nbsp;   description

         &= nbsp;     "The instance data set excludes all = data nodes

         &= nbsp;      that contain the schema = default.";

         &= nbsp; }

         &= nbsp; enum explicit {

         &= nbsp;   value 3;

         &= nbsp;   description

         &= nbsp;     "The instance data set may include = some data nodes

         &= nbsp;      that match the schema default and = may exclude some

         &= nbsp;      data nodes that match the schema = default.=E2=80=9D;

         &= nbsp; }

         = }

         = description

         &= nbsp; "This leaf provides an indication of how default = data

         &= nbsp;  is presented within an instance data set, modelled = on

         &= nbsp;  RFC 6243.

 

         &= nbsp;  Interpretation of the use of defaults depends on = the

         &= nbsp;  context of what the instance data set = represents.

 

         &= nbsp;  E.g., if the instance data set represents = configuration,

         &= nbsp;  Then include-defaults aligns to the meaning of = the

         &= nbsp;  default-handling basic modes in RFC 6243.  If = the

         &= nbsp;  instance data set represents operational data from the =

         &= nbsp;  operational state datastore [RFC 8342], = then

         &= nbsp;  include-defaults aligns to the definition of = that

         &= nbsp;  datastore in RFC 8342.=E2=80=9D;

 

Would text along these lines = work?

 

Thanks,

Rob

 

 

From: = Bal=C3=A1zs Lengyel <balazs.lengyel@ericsson.com>
Sent: 28 July 2021 23:08
To: Rob Wilton = (rwilton) <
rwilton@cisco.com>; Andy = Bierman <andy@yumaworks.com>
Cc: NetMod WG <netmod@ietf.org>
Subject: RE: [netmod] yang-instance-file include-defaults = leaf

 

Hello Rob,

Removing the = =E2=80=9Cdefault trim;=E2=80=9D will address Andy=E2=80=99s = comment.

 

Your in-use-values is very specific = to one of the use-cases: reading/documenting operational values. It is = not useful for the other use-cases. I think the =E2=80=9Cdocumenting = operational datastore=E2=80=9D use-case could be handled by indicating = the includes-defaults=3Dreport-all. Case (i) would contain the = value case (ii) will not.

Regards Balazs

 

From: = Rob Wilton (rwilton) <rwilton@cisco.com> =
Sent: 2021. j=C3=BAlius 27., kedd 17:38
To: Andy = Bierman <andy@yumaworks.com>; = Bal=C3=A1zs Lengyel <balazs.lengyel@ericsson.com>
Cc: NetMod WG <
netmod@ietf.org>
Subject: RE: [netmod] yang-instance-file include-defaults = leaf

 

Hi Andy, = Balazs,

 

So, the reason that I = want a flag to indicate whether default values are in use is because of = this definition of operational in RFC 8342:

 

   Requests to retrieve nodes from = <operational> always return the value

   in use if the node exists, regardless of = any default value specified

   in the YANG module.  If no value is = returned for a given node, then

   this implies that the node is not used by = the device.

 

It was written this way = because otherwise a consumer of operational data cannot differentiate = between:

(i)           = ;    This value is not present because it matches the default = value specified in the YANG module, and

(ii)           = ;   This = value is not present because the server has failed to return it for some = reason (e.g., perhaps the daemon that would have provided this value is = down or not available, or perhaps it is a bug, or perhaps it is not = implemented and is a missing deviation).

 

So, I think that in some = cases, the absence of a data node does not necessarily mean that the = default value is in effect, and I wanted the instance-data document to = be able to contain and correctly report this = data.

 

I think that this = behaviour could be captured by a single leaf.  Another way of = articulating this would be:

 

leaf in-use-values = {

  type = boolean;

  default = false;

  = description

    = =E2=80=9COnly if set to true, the absence of a value in = the

     = instance data for a given data node implies that = the

    n= ode is not used rather than implicitly taking = the

     = default value specified by any corresponding

    =E2= =80=98default=E2=80=99 statement specified in the YANG = schema.=E2=80=9D;

}

 

With this, I=E2=80=99m = not sure whether we need the =E2=80=9Cincludes-default=E2=80=9D leaf = currently specified in the draft, but if we do, then I would think that = leaf should be entirely optional, i.e., without the default = =E2=80=9Ctrim=E2=80=9D.

 

Regards,
Rob

 

 

From: = Andy Bierman <andy@yumaworks.com> =
Sent: 10 July 2021 17:41
To: Rob Wilton (rwilton) = <rwilton@cisco.com>
Cc:= NetMod WG <netmod@ietf.org>; Bal=C3=A1zs = Lengyel <balazs.lengyel@ericsson.com>
Subject: Re: [netmod] yang-instance-file = include-defaults leaf

 

 

Andy,

 

Yes, when I suggested this, I was thinking = that a boolean flag might be sufficient.  My point being that = automatically filtering out default values isn=E2=80=99t always the = right thing to do.

 

 

 

The solution is = simple.

Get rid of the = inappropriate "default trim" = statement.

 

If the leaf is present = then it identifies the basic-mode that was used to include = defaults.

If not then the = information is either not known, not applicable, or defaults were not = added.

 

The "default" = statement is a bug because there is no default = basic-mode.

All of the basic-modes = are in use in deployments and no camp has = ever

been able to convince = the others that theirs is right.

 

 

Andy

 

E.g., something along these = lines:

 

leaf exclude-defaults = {

  type boolean;

  default true;

  description

    =E2=80=9CCan be used to = reduce the size of the content data file.

 

      When unset or = set to true, data nodes that have a default defined = and

      where the = actual value is the default value are excluded from the = content

    =   data.

 

      When set to = false, data nodes with default value are not filtered, = and

      may appear in = the content data.=E2=80=9D

}

 

Would this satisfy your = concern?

 

Regards,
Rob