jolly has submitted this change. ( 
https://gerrit.osmocom.org/c/onomondo-ipa/+/43053?usp=email )

 (

1 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted 
one.
 )Change subject: V1.2: Change fields in RetrieveNotificationsListResponse
......................................................................

V1.2: Change fields in RetrieveNotificationsListResponse

Remove notificationAndEprList and restructure definitions in
RetrieveNotificationsListResponse.

This requires name changes in IPA process. The notificationAndEprList
case is removed.

Reference: SGP.32 Section 5.9.11

Related: SYS#8101
Change-Id: I757586e92c5eb1ca54ddf8ab6f71eb418de20f6e
---
M asn1/SGP32Definitions.asn
M src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.c
M src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.h
M src/ipa/libipa/es10b_retr_notif_from_lst.c
4 files changed, 20 insertions(+), 277 deletions(-)

Approvals:
  dexter: Looks good to me, approved
  Jenkins Builder: Verified




diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn
index 7f0afa9..c3fea8c 100644
--- a/asn1/SGP32Definitions.asn
+++ b/asn1/SGP32Definitions.asn
@@ -577,13 +577,9 @@

 -- ASN1START
 SGP32-RetrieveNotificationsListResponse ::= [43] CHOICE { -- Tag 'BF2B'
-  notificationList SEQUENCE OF SGP32-PendingNotification,
-  notificationsListResultError INTEGER { undefinedError(127)},
-  euiccPackageResultList SEQUENCE OF EuiccPackageResult,
-  notificationAndEprList SEQUENCE {
-    notificationList SEQUENCE OF SGP32-PendingNotification,
-    euiccPackageResultList SEQUENCE OF EuiccPackageResult
-  }
+  notificationList PendingNotificationList, -- Tag 'A0'
+  notificationsListResultError INTEGER { undefinedError(127)}, -- Tag '81'
+  euiccPackageResultList EuiccPackageResultList -- Tag 'A2'
 }
 -- ASN1STOP

diff --git a/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.c 
b/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.c
index 13b4b61..29fb7c0 100644
--- a/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.c
+++ b/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.c
@@ -11,216 +11,15 @@
        { 0, 0 },
        -1};
 asn_per_constraints_t 
asn_PER_type_SGP32_RetrieveNotificationsListResponse_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  3 }    /* (0..3,...) 
*/,
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  2 }    /* (0..2,...) 
*/,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
-static asn_TYPE_member_t asn_MBR_notificationList_2[] = {
-       { ATF_POINTER, 0, 0,
-               -1 /* Ambiguous tag (CHOICE?) */,
-               0,
-               &asn_DEF_SGP32_PendingNotification,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_notificationList_tags_2[] = {
-       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_notificationList_specs_2 = {
-       sizeof(struct 
SGP32_RetrieveNotificationsListResponse__notificationList),
-       offsetof(struct 
SGP32_RetrieveNotificationsListResponse__notificationList, _asn_ctx),
-       2,      /* XER encoding is XMLValueList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_notificationList_2 = {
-       "notificationList",
-       "notificationList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_notificationList_tags_2,
-       sizeof(asn_DEF_notificationList_tags_2)
-               /sizeof(asn_DEF_notificationList_tags_2[0]) - 1, /* 1 */
-       asn_DEF_notificationList_tags_2,        /* Same as above */
-       sizeof(asn_DEF_notificationList_tags_2)
-               /sizeof(asn_DEF_notificationList_tags_2[0]), /* 2 */
-       { 0, 0, SEQUENCE_OF_constraint },
-       asn_MBR_notificationList_2,
-       1,      /* Single element */
-       &asn_SPC_notificationList_specs_2       /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_euiccPackageResultList_6[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_CONTEXT | (81 << 2)),
-               0,
-               &asn_DEF_EuiccPackageResult,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_euiccPackageResultList_tags_6[] = {
-       (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_euiccPackageResultList_specs_6 = {
-       sizeof(struct 
SGP32_RetrieveNotificationsListResponse__euiccPackageResultList),
-       offsetof(struct 
SGP32_RetrieveNotificationsListResponse__euiccPackageResultList, _asn_ctx),
-       2,      /* XER encoding is XMLValueList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_euiccPackageResultList_6 = {
-       "euiccPackageResultList",
-       "euiccPackageResultList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_euiccPackageResultList_tags_6,
-       sizeof(asn_DEF_euiccPackageResultList_tags_6)
-               /sizeof(asn_DEF_euiccPackageResultList_tags_6[0]) - 1, /* 1 */
-       asn_DEF_euiccPackageResultList_tags_6,  /* Same as above */
-       sizeof(asn_DEF_euiccPackageResultList_tags_6)
-               /sizeof(asn_DEF_euiccPackageResultList_tags_6[0]), /* 2 */
-       { 0, 0, SEQUENCE_OF_constraint },
-       asn_MBR_euiccPackageResultList_6,
-       1,      /* Single element */
-       &asn_SPC_euiccPackageResultList_specs_6 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_notificationList_9[] = {
-       { ATF_POINTER, 0, 0,
-               -1 /* Ambiguous tag (CHOICE?) */,
-               0,
-               &asn_DEF_SGP32_PendingNotification,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_notificationList_tags_9[] = {
-       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_notificationList_specs_9 = {
-       sizeof(struct 
SGP32_RetrieveNotificationsListResponse__notificationAndEprList__notificationList),
-       offsetof(struct 
SGP32_RetrieveNotificationsListResponse__notificationAndEprList__notificationList,
 _asn_ctx),
-       2,      /* XER encoding is XMLValueList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_notificationList_9 = {
-       "notificationList",
-       "notificationList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_notificationList_tags_9,
-       sizeof(asn_DEF_notificationList_tags_9)
-               /sizeof(asn_DEF_notificationList_tags_9[0]) - 1, /* 1 */
-       asn_DEF_notificationList_tags_9,        /* Same as above */
-       sizeof(asn_DEF_notificationList_tags_9)
-               /sizeof(asn_DEF_notificationList_tags_9[0]), /* 2 */
-       { 0, 0, SEQUENCE_OF_constraint },
-       asn_MBR_notificationList_9,
-       1,      /* Single element */
-       &asn_SPC_notificationList_specs_9       /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_euiccPackageResultList_11[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_CONTEXT | (81 << 2)),
-               0,
-               &asn_DEF_EuiccPackageResult,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_euiccPackageResultList_tags_11[] = {
-       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_euiccPackageResultList_specs_11 = {
-       sizeof(struct 
SGP32_RetrieveNotificationsListResponse__notificationAndEprList__euiccPackageResultList),
-       offsetof(struct 
SGP32_RetrieveNotificationsListResponse__notificationAndEprList__euiccPackageResultList,
 _asn_ctx),
-       2,      /* XER encoding is XMLValueList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_euiccPackageResultList_11 = {
-       "euiccPackageResultList",
-       "euiccPackageResultList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_euiccPackageResultList_tags_11,
-       sizeof(asn_DEF_euiccPackageResultList_tags_11)
-               /sizeof(asn_DEF_euiccPackageResultList_tags_11[0]) - 1, /* 1 */
-       asn_DEF_euiccPackageResultList_tags_11, /* Same as above */
-       sizeof(asn_DEF_euiccPackageResultList_tags_11)
-               /sizeof(asn_DEF_euiccPackageResultList_tags_11[0]), /* 2 */
-       { 0, 0, SEQUENCE_OF_constraint },
-       asn_MBR_euiccPackageResultList_11,
-       1,      /* Single element */
-       &asn_SPC_euiccPackageResultList_specs_11        /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_notificationAndEprList_8[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct 
SGP32_RetrieveNotificationsListResponse__notificationAndEprList, 
notificationList),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               0,
-               &asn_DEF_notificationList_9,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "notificationList"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct 
SGP32_RetrieveNotificationsListResponse__notificationAndEprList, 
euiccPackageResultList),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               0,
-               &asn_DEF_euiccPackageResultList_11,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "euiccPackageResultList"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_notificationAndEprList_tags_8[] = {
-       (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_notificationAndEprList_tag2el_8[] = 
{
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* notificationList */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* euiccPackageResultList 
*/
-};
-static asn_SEQUENCE_specifics_t asn_SPC_notificationAndEprList_specs_8 = {
-       sizeof(struct 
SGP32_RetrieveNotificationsListResponse__notificationAndEprList),
-       offsetof(struct 
SGP32_RetrieveNotificationsListResponse__notificationAndEprList, _asn_ctx),
-       asn_MAP_notificationAndEprList_tag2el_8,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_notificationAndEprList_8 = {
-       "notificationAndEprList",
-       "notificationAndEprList",
-       &asn_OP_SEQUENCE,
-       asn_DEF_notificationAndEprList_tags_8,
-       sizeof(asn_DEF_notificationAndEprList_tags_8)
-               /sizeof(asn_DEF_notificationAndEprList_tags_8[0]) - 1, /* 1 */
-       asn_DEF_notificationAndEprList_tags_8,  /* Same as above */
-       sizeof(asn_DEF_notificationAndEprList_tags_8)
-               /sizeof(asn_DEF_notificationAndEprList_tags_8[0]), /* 2 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_notificationAndEprList_8,
-       2,      /* Elements count */
-       &asn_SPC_notificationAndEprList_specs_8 /* Additional specs */
-};
-
 asn_TYPE_member_t asn_MBR_SGP32_RetrieveNotificationsListResponse_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct 
SGP32_RetrieveNotificationsListResponse, choice.notificationList),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               0,
-               &asn_DEF_notificationList_2,
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_PendingNotificationList,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -237,22 +36,13 @@
                },
        { ATF_NOFLAGS, 0, offsetof(struct 
SGP32_RetrieveNotificationsListResponse, choice.euiccPackageResultList),
                (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               0,
-               &asn_DEF_euiccPackageResultList_6,
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EuiccPackageResultList,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
                "euiccPackageResultList"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct 
SGP32_RetrieveNotificationsListResponse, choice.notificationAndEprList),
-               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-               0,
-               &asn_DEF_notificationAndEprList_8,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "notificationAndEprList"
-               },
 };
 static const ber_tlv_tag_t 
asn_DEF_SGP32_RetrieveNotificationsListResponse_tags_1[] = {
        (ASN_TAG_CLASS_CONTEXT | (43 << 2))
@@ -260,8 +50,7 @@
 static const asn_TYPE_tag2member_t 
asn_MAP_SGP32_RetrieveNotificationsListResponse_tag2el_1[] = {
     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* notificationList */
     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* 
notificationsListResultError */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* euiccPackageResultList 
*/
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* notificationAndEprList 
*/
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* euiccPackageResultList 
*/
 };
 asn_CHOICE_specifics_t asn_SPC_SGP32_RetrieveNotificationsListResponse_specs_1 
= {
        sizeof(struct SGP32_RetrieveNotificationsListResponse),
@@ -269,9 +58,9 @@
        offsetof(struct SGP32_RetrieveNotificationsListResponse, present),
        sizeof(((struct SGP32_RetrieveNotificationsListResponse *)0)->present),
        asn_MAP_SGP32_RetrieveNotificationsListResponse_tag2el_1,
-       4,      /* Count of tags in the map */
+       3,      /* Count of tags in the map */
        0, 0,
-       4       /* Extensions start */
+       3       /* Extensions start */
 };
 asn_TYPE_descriptor_t asn_DEF_SGP32_RetrieveNotificationsListResponse = {
        "SGP32-RetrieveNotificationsListResponse",
@@ -285,7 +74,7 @@
                
/sizeof(asn_DEF_SGP32_RetrieveNotificationsListResponse_tags_1[0]), /* 1 */
        { &asn_OER_type_SGP32_RetrieveNotificationsListResponse_constr_1, 
&asn_PER_type_SGP32_RetrieveNotificationsListResponse_constr_1, 
CHOICE_constraint },
        asn_MBR_SGP32_RetrieveNotificationsListResponse_1,
-       4,      /* Elements count */
+       3,      /* Elements count */
        &asn_SPC_SGP32_RetrieveNotificationsListResponse_specs_1        /* 
Additional specs */
 };

diff --git a/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.h 
b/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.h
index 4315f7e..380cffe 100644
--- a/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.h
+++ b/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.h
@@ -12,10 +12,9 @@
 #include <asn_application.h>

 /* Including external dependencies */
+#include "PendingNotificationList.h"
 #include <NativeInteger.h>
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-#include <constr_SEQUENCE.h>
+#include "EuiccPackageResultList.h"
 #include <constr_CHOICE.h>

 #ifdef __cplusplus
@@ -27,8 +26,7 @@
        SGP32_RetrieveNotificationsListResponse_PR_NOTHING,     /* No 
components present */
        SGP32_RetrieveNotificationsListResponse_PR_notificationList,
        SGP32_RetrieveNotificationsListResponse_PR_notificationsListResultError,
-       SGP32_RetrieveNotificationsListResponse_PR_euiccPackageResultList,
-       SGP32_RetrieveNotificationsListResponse_PR_notificationAndEprList
+       SGP32_RetrieveNotificationsListResponse_PR_euiccPackageResultList
        /* Extensions may appear below */

 } SGP32_RetrieveNotificationsListResponse_PR;
@@ -36,48 +34,13 @@
        
SGP32_RetrieveNotificationsListResponse__notificationsListResultError_undefinedError
    = 127
 } e_SGP32_RetrieveNotificationsListResponse__notificationsListResultError;
 
-/* Forward declarations */
-struct SGP32_PendingNotification;
-struct EuiccPackageResult;
-
 /* SGP32-RetrieveNotificationsListResponse */
 typedef struct SGP32_RetrieveNotificationsListResponse {
        SGP32_RetrieveNotificationsListResponse_PR present;
        union SGP32_RetrieveNotificationsListResponse_u {
-               struct 
SGP32_RetrieveNotificationsListResponse__notificationList {
-                       A_SEQUENCE_OF(struct SGP32_PendingNotification) list;
-
-                       /* Context for parsing across buffer boundaries */
-                       asn_struct_ctx_t _asn_ctx;
-               } notificationList;
+               PendingNotificationList_t        notificationList;
                long     notificationsListResultError;
-               struct 
SGP32_RetrieveNotificationsListResponse__euiccPackageResultList {
-                       A_SEQUENCE_OF(struct EuiccPackageResult) list;
-
-                       /* Context for parsing across buffer boundaries */
-                       asn_struct_ctx_t _asn_ctx;
-               } euiccPackageResultList;
-               struct 
SGP32_RetrieveNotificationsListResponse__notificationAndEprList {
-                       struct 
SGP32_RetrieveNotificationsListResponse__notificationAndEprList__notificationList
 {
-                               A_SEQUENCE_OF(struct SGP32_PendingNotification) 
list;
-
-                               /* Context for parsing across buffer boundaries 
*/
-                               asn_struct_ctx_t _asn_ctx;
-                       } notificationList;
-                       struct 
SGP32_RetrieveNotificationsListResponse__notificationAndEprList__euiccPackageResultList
 {
-                               A_SEQUENCE_OF(struct EuiccPackageResult) list;
-
-                               /* Context for parsing across buffer boundaries 
*/
-                               asn_struct_ctx_t _asn_ctx;
-                       } euiccPackageResultList;
-                       /*
-                        * This type is extensible,
-                        * possible extensions are below.
-                        */
-
-                       /* Context for parsing across buffer boundaries */
-                       asn_struct_ctx_t _asn_ctx;
-               } notificationAndEprList;
+               EuiccPackageResultList_t         euiccPackageResultList;
                /*
                 * This type is extensible,
                 * possible extensions are below.
@@ -91,16 +54,12 @@
 /* Implementation */
 extern asn_TYPE_descriptor_t asn_DEF_SGP32_RetrieveNotificationsListResponse;
 extern asn_CHOICE_specifics_t 
asn_SPC_SGP32_RetrieveNotificationsListResponse_specs_1;
-extern asn_TYPE_member_t asn_MBR_SGP32_RetrieveNotificationsListResponse_1[4];
+extern asn_TYPE_member_t asn_MBR_SGP32_RetrieveNotificationsListResponse_1[3];
 extern asn_per_constraints_t 
asn_PER_type_SGP32_RetrieveNotificationsListResponse_constr_1;

 #ifdef __cplusplus
 }
 #endif

-/* Referred external types */
-#include "SGP32-PendingNotification.h"
-#include "EuiccPackageResult.h"
-
 #endif /* _SGP32_RetrieveNotificationsListResponse_H_ */
 #include <asn_internal.h>
diff --git a/src/ipa/libipa/es10b_retr_notif_from_lst.c 
b/src/ipa/libipa/es10b_retr_notif_from_lst.c
index 170f59a..bd90b3a 100644
--- a/src/ipa/libipa/es10b_retr_notif_from_lst.c
+++ b/src/ipa/libipa/es10b_retr_notif_from_lst.c
@@ -24,7 +24,7 @@
 #include "es10b_retr_notif_from_lst.h"

 /* Convert a notificationList (RetrieveNotificationsListResponse) from RSP to 
SGP32 format. */
-void convert_notification_list(struct 
SGP32_RetrieveNotificationsListResponse__notificationList *lst_out,
+void convert_notification_list(PendingNotificationList_t *lst_out,
                               const struct 
RetrieveNotificationsListResponse__notificationList *lst_in)
 {
        unsigned int i;
@@ -67,7 +67,7 @@
 }

 /*! Free a converted notificationList (RetrieveNotificationsListResponse). */
-void free_converted_notification_list(struct 
SGP32_RetrieveNotificationsListResponse__notificationList *lst)
+void free_converted_notification_list(PendingNotificationList_t *lst)
 {
        int i;
        if (!lst)
@@ -138,7 +138,6 @@
                                                                           
res->notif_lst_result_err, "(unknown)"));
        case SGP32_RetrieveNotificationsListResponse_PR_notificationList:
        case SGP32_RetrieveNotificationsListResponse_PR_euiccPackageResultList:
-       case SGP32_RetrieveNotificationsListResponse_PR_notificationAndEprList:
                /* Nothing to do */
                break;
        default:

--
To view, visit https://gerrit.osmocom.org/c/onomondo-ipa/+/43053?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: onomondo-ipa
Gerrit-Branch: master
Gerrit-Change-Id: I757586e92c5eb1ca54ddf8ab6f71eb418de20f6e
Gerrit-Change-Number: 43053
Gerrit-PatchSet: 6
Gerrit-Owner: jolly <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <[email protected]>
Gerrit-Reviewer: jolly <[email protected]>

Reply via email to