/*
 *
 *    Copyright (c) 2020 Project CHIP Authors
 *    Copyright (c) 2020 Google LLC.
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

/********************************************************************
 * Autogenerated file, do not edit.
 *******************************************************************/

#include "bg_gattdb_def.h"

#include <stdint.h>

#define GATT_HEADER(F) F
#define GATT_DATA(F) F
GATT_DATA(const uint16_t bg_gattdb_data_uuidtable_16_map[]) = {
    0x2800, 0x2801, 0x2803, 0x1800, 0x2a00, 0x2a01, 0x180a, 0x2a29, 0x2a24, 0x2a23, 0xfff6, 0x1801, 0x2a05, 0x2b2a, 0x2b29, 0x2902,
};

GATT_DATA(const uint8_t bg_gattdb_data_uuidtable_128_map[]) = {
    0xf0, 0x19, 0x21, 0xb4, 0x47, 0x8f, 0xa4, 0xbf, 0xa1, 0x4f, 0x63, 0xfd, 0xee, 0xd6, 0x14, 0x1d,
    0x63, 0x60, 0x32, 0xe0, 0x37, 0x5e, 0xa4, 0x88, 0x53, 0x4e, 0x6d, 0xfb, 0x64, 0x35, 0xbf, 0xf7,
    0x11, 0x9d, 0x9f, 0x42, 0x9c, 0x4f, 0x9f, 0x95, 0x59, 0x45, 0x3d, 0x26, 0xf5, 0x2e, 0xee, 0x18,
    0x12, 0x9d, 0x9f, 0x42, 0x9c, 0x4f, 0x9f, 0x95, 0x59, 0x45, 0x3d, 0x26, 0xf5, 0x2e, 0xee, 0x18,
};

struct bg_gattdb_buffer_with_len
    bg_gattdb_data_attribute_field_27_data                                             = { .len  = 1,
                                               .data = {
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                               } };
GATT_DATA(const struct bg_gattdb_attribute_chrvalue bg_gattdb_data_attribute_field_27) = {
    .properties  = 0x2e,
    .index       = 6,
    .max_len     = 247,
    .data_varlen = &bg_gattdb_data_attribute_field_27_data,
};

GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_26) = { .len  = 19,
                                                                                        .data = {
                                                                                            0x2e, 0x1c, 0x00, 0x12, 0x9d,
                                                                                            0x9f, 0x42, 0x9c, 0x4f, 0x9f,
                                                                                            0x95, 0x59, 0x45, 0x3d, 0x26,
                                                                                            0xf5, 0x2e, 0xee, 0x18,
                                                                                        } };
struct bg_gattdb_buffer_with_len
    bg_gattdb_data_attribute_field_25_data                                             = { .len  = 1,
                                               .data = {
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                               } };
GATT_DATA(const struct bg_gattdb_attribute_chrvalue bg_gattdb_data_attribute_field_25) = {
    .properties  = 0x0a,
    .index       = 5,
    .max_len     = 247,
    .data_varlen = &bg_gattdb_data_attribute_field_25_data,
};

GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_24)    = { .len  = 19,
                                                                                        .data = {
                                                                                            0x0a, 0x1a, 0x00, 0x11, 0x9d,
                                                                                            0x9f, 0x42, 0x9c, 0x4f, 0x9f,
                                                                                            0x95, 0x59, 0x45, 0x3d, 0x26,
                                                                                            0xf5, 0x2e, 0xee, 0x18,
                                                                                        } };
GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_23)    = { .len  = 2,
                                                                                        .data = {
                                                                                            0xf6,
                                                                                            0xff,
                                                                                        } };
GATT_DATA(const struct bg_gattdb_attribute_chrvalue bg_gattdb_data_attribute_field_22) = {
    .properties = 0x08,
    .index      = 4,
    .max_len    = 0,
    .data       = NULL,
};

GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_21) = { .len  = 19,
                                                                                        .data = {
                                                                                            0x08, 0x17, 0x00, 0x63, 0x60,
                                                                                            0x32, 0xe0, 0x37, 0x5e, 0xa4,
                                                                                            0x88, 0x53, 0x4e, 0x6d, 0xfb,
                                                                                            0x64, 0x35, 0xbf, 0xf7,
                                                                                        } };
GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_20) = { .len  = 16,
                                                                                        .data = {
                                                                                            0xf0,
                                                                                            0x19,
                                                                                            0x21,
                                                                                            0xb4,
                                                                                            0x47,
                                                                                            0x8f,
                                                                                            0xa4,
                                                                                            0xbf,
                                                                                            0xa1,
                                                                                            0x4f,
                                                                                            0x63,
                                                                                            0xfd,
                                                                                            0xee,
                                                                                            0xd6,
                                                                                            0x14,
                                                                                            0x1d,
                                                                                        } };
GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_19) = { .len  = 6,
                                                                                        .data = {
                                                                                            0x00,
                                                                                            0x01,
                                                                                            0x02,
                                                                                            0x03,
                                                                                            0x04,
                                                                                            0x05,
                                                                                        } };
GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_18) = { .len  = 5,
                                                                                        .data = {
                                                                                            0x02,
                                                                                            0x14,
                                                                                            0x00,
                                                                                            0x23,
                                                                                            0x2a,
                                                                                        } };
GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_17) = { .len  = 10,
                                                                                        .data = {
                                                                                            0x42,
                                                                                            0x6c,
                                                                                            0x75,
                                                                                            0x65,
                                                                                            0x20,
                                                                                            0x47,
                                                                                            0x65,
                                                                                            0x63,
                                                                                            0x6b,
                                                                                            0x6f,
                                                                                        } };
GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_16) = { .len  = 5,
                                                                                        .data = {
                                                                                            0x02,
                                                                                            0x12,
                                                                                            0x00,
                                                                                            0x24,
                                                                                            0x2a,
                                                                                        } };
GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_15) = { .len  = 12,
                                                                                        .data = {
                                                                                            0x53,
                                                                                            0x69,
                                                                                            0x6c,
                                                                                            0x69,
                                                                                            0x63,
                                                                                            0x6f,
                                                                                            0x6e,
                                                                                            0x20,
                                                                                            0x4c,
                                                                                            0x61,
                                                                                            0x62,
                                                                                            0x73,
                                                                                        } };
GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_14) = { .len  = 5,
                                                                                        .data = {
                                                                                            0x02,
                                                                                            0x10,
                                                                                            0x00,
                                                                                            0x29,
                                                                                            0x2a,
                                                                                        } };
GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_13) = { .len  = 2,
                                                                                        .data = {
                                                                                            0x0a,
                                                                                            0x18,
                                                                                        } };
GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_12) = { .len  = 2,
                                                                                        .data = {
                                                                                            0x00,
                                                                                            0x00,
                                                                                        } };
GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_11) = { .len  = 5,
                                                                                        .data = {
                                                                                            0x02,
                                                                                            0x0d,
                                                                                            0x00,
                                                                                            0x01,
                                                                                            0x2a,
                                                                                        } };
uint8_t bg_gattdb_data_attribute_field_10_data[13]                                  = {
    0x45, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65,
};
GATT_DATA(const struct bg_gattdb_attribute_chrvalue bg_gattdb_data_attribute_field_10) = {
    .properties = 0x0a,
    .index      = 3,
    .max_len    = 13,
    .data       = bg_gattdb_data_attribute_field_10_data,
};

GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_9) = { .len  = 5,
                                                                                       .data = {
                                                                                           0x0a,
                                                                                           0x0b,
                                                                                           0x00,
                                                                                           0x00,
                                                                                           0x2a,
                                                                                       } };
GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_8) = { .len  = 2,
                                                                                       .data = {
                                                                                           0x00,
                                                                                           0x18,
                                                                                       } };
uint8_t bg_gattdb_data_attribute_field_7_data[1]                                   = {
    0x00,
};
GATT_DATA(const struct bg_gattdb_attribute_chrvalue bg_gattdb_data_attribute_field_7) = {
    .properties = 0x0a,
    .index      = 2,
    .max_len    = 1,
    .data       = bg_gattdb_data_attribute_field_7_data,
};

GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_6) = { .len  = 5,
                                                                                       .data = {
                                                                                           0x0a,
                                                                                           0x08,
                                                                                           0x00,
                                                                                           0x29,
                                                                                           0x2b,
                                                                                       } };
uint8_t bg_gattdb_data_attribute_field_5_data[16]                                  = {
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
GATT_DATA(const struct bg_gattdb_attribute_chrvalue bg_gattdb_data_attribute_field_5) = {
    .properties = 0x02,
    .index      = 1,
    .max_len    = 16,
    .data       = bg_gattdb_data_attribute_field_5_data,
};

GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_4) = { .len  = 5,
                                                                                       .data = {
                                                                                           0x02,
                                                                                           0x06,
                                                                                           0x00,
                                                                                           0x2a,
                                                                                           0x2b,
                                                                                       } };
uint8_t bg_gattdb_data_attribute_field_2_data[4]                                   = {
    0x00,
    0x00,
    0x00,
    0x00,
};
GATT_DATA(const struct bg_gattdb_attribute_chrvalue bg_gattdb_data_attribute_field_2) = {
    .properties = 0x20,
    .index      = 0,
    .max_len    = 4,
    .data       = bg_gattdb_data_attribute_field_2_data,
};

GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_1) = { .len  = 5,
                                                                                       .data = {
                                                                                           0x20,
                                                                                           0x03,
                                                                                           0x00,
                                                                                           0x05,
                                                                                           0x2a,
                                                                                       } };
GATT_DATA(const struct bg_gattdb_buffer_with_len bg_gattdb_data_attribute_field_0) = { .len  = 2,
                                                                                       .data = {
                                                                                           0x01,
                                                                                           0x18,
                                                                                       } };
GATT_DATA(const struct bg_gattdb_attribute bg_gattdb_data_attributes_map[])        = {
    { .uuid = 0x0000, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_0 },
    { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_1 },
    { .uuid = 0x000c, .permissions = 0x800, .caps = 0xffff, .datatype = 0x01, .dynamicdata = &bg_gattdb_data_attribute_field_2 },
    { .uuid        = 0x000f,
      .permissions = 0x807,
      .caps        = 0xffff,
      .datatype    = 0x03,
      .configdata  = { .flags = 0x02, .index = 0x00, .clientconfig_index = 0x00 } },
    { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_4 },
    { .uuid = 0x000d, .permissions = 0x801, .caps = 0xffff, .datatype = 0x01, .dynamicdata = &bg_gattdb_data_attribute_field_5 },
    { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_6 },
    { .uuid = 0x000e, .permissions = 0x803, .caps = 0xffff, .datatype = 0x01, .dynamicdata = &bg_gattdb_data_attribute_field_7 },
    { .uuid = 0x0000, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_8 },
    { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_9 },
    { .uuid = 0x0004, .permissions = 0x803, .caps = 0xffff, .datatype = 0x01, .dynamicdata = &bg_gattdb_data_attribute_field_10 },
    { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_11 },
    { .uuid = 0x0005, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_12 },
    { .uuid = 0x0000, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_13 },
    { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_14 },
    { .uuid = 0x0007, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_15 },
    { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_16 },
    { .uuid = 0x0008, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_17 },
    { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_18 },
    { .uuid = 0x0009, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_19 },
    { .uuid = 0x0000, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_20 },
    { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_21 },
    { .uuid = 0x8001, .permissions = 0x802, .caps = 0xffff, .datatype = 0x07, .dynamicdata = &bg_gattdb_data_attribute_field_22 },
    { .uuid = 0x0000, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_23 },
    { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_24 },
    { .uuid = 0x8002, .permissions = 0x803, .caps = 0xffff, .datatype = 0x02, .dynamicdata = &bg_gattdb_data_attribute_field_25 },
    { .uuid = 0x0002, .permissions = 0x801, .caps = 0xffff, .datatype = 0x00, .constdata = &bg_gattdb_data_attribute_field_26 },
    { .uuid = 0x8003, .permissions = 0x807, .caps = 0xffff, .datatype = 0x02, .dynamicdata = &bg_gattdb_data_attribute_field_27 },
    { .uuid        = 0x000f,
      .permissions = 0x807,
      .caps        = 0xffff,
      .datatype    = 0x03,
      .configdata  = { .flags = 0x02, .index = 0x06, .clientconfig_index = 0x01 } },
};

GATT_DATA(const uint16_t bg_gattdb_data_attributes_dynamic_mapping_map[]) = {
    0x0003, 0x0006, 0x0008, 0x000b, 0x0017, 0x001a, 0x001c,
};

GATT_DATA(const uint8_t bg_gattdb_data_adv_uuid16_map[])  = { 0x0 };
GATT_DATA(const uint8_t bg_gattdb_data_adv_uuid128_map[]) = { 0x0 };
GATT_HEADER(const struct bg_gattdb_def bg_gattdb_data)    = {
    .attributes                 = bg_gattdb_data_attributes_map,
    .attributes_max             = 29,
    .uuidtable_16_size          = 16,
    .uuidtable_16               = bg_gattdb_data_uuidtable_16_map,
    .uuidtable_128_size         = 4,
    .uuidtable_128              = bg_gattdb_data_uuidtable_128_map,
    .attributes_dynamic_max     = 7,
    .attributes_dynamic_mapping = bg_gattdb_data_attributes_dynamic_mapping_map,
    .adv_uuid16                 = bg_gattdb_data_adv_uuid16_map,
    .adv_uuid16_num             = 0,
    .adv_uuid128                = bg_gattdb_data_adv_uuid128_map,
    .adv_uuid128_num            = 0,
    .caps_mask                  = 0xffff,
    .enabled_caps               = 0xffff,
};

const struct bg_gattdb_def * bg_gattdb = &bg_gattdb_data;
