/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */

/* THIS FILE IS AUTOGENERATED BY BPFTOOL! */
#ifndef __XDP_IPBLOCKLIST_SKEL_H__
#define __XDP_IPBLOCKLIST_SKEL_H__

#include <errno.h>
#include <stdlib.h>
#include <bpf/libbpf.h>

#define BPF_SKEL_SUPPORTS_MAP_AUTO_ATTACH 1

struct xdp_ipblocklist {
	struct bpf_object_skeleton *skeleton;
	struct bpf_object *obj;
	struct {
		struct bpf_map *ipblocklist_map;
	} maps;
	struct {
		struct bpf_program *xdp_ipblocklist;
	} progs;
	struct {
		struct bpf_link *xdp_ipblocklist;
	} links;

#ifdef __cplusplus
	static inline struct xdp_ipblocklist *open(const struct bpf_object_open_opts *opts = nullptr);
	static inline struct xdp_ipblocklist *open_and_load();
	static inline int load(struct xdp_ipblocklist *skel);
	static inline int attach(struct xdp_ipblocklist *skel);
	static inline void detach(struct xdp_ipblocklist *skel);
	static inline void destroy(struct xdp_ipblocklist *skel);
	static inline const void *elf_bytes(size_t *sz);
#endif /* __cplusplus */
};

static void
xdp_ipblocklist__destroy(struct xdp_ipblocklist *obj)
{
	if (!obj)
		return;
	if (obj->skeleton)
		bpf_object__destroy_skeleton(obj->skeleton);
	free(obj);
}

static inline int
xdp_ipblocklist__create_skeleton(struct xdp_ipblocklist *obj);

static inline struct xdp_ipblocklist *
xdp_ipblocklist__open_opts(const struct bpf_object_open_opts *opts)
{
	struct xdp_ipblocklist *obj;
	int err;

	obj = (struct xdp_ipblocklist *)calloc(1, sizeof(*obj));
	if (!obj) {
		errno = ENOMEM;
		return NULL;
	}

	err = xdp_ipblocklist__create_skeleton(obj);
	if (err)
		goto err_out;

	err = bpf_object__open_skeleton(obj->skeleton, opts);
	if (err)
		goto err_out;

	return obj;
err_out:
	xdp_ipblocklist__destroy(obj);
	errno = -err;
	return NULL;
}

static inline struct xdp_ipblocklist *
xdp_ipblocklist__open(void)
{
	return xdp_ipblocklist__open_opts(NULL);
}

static inline int
xdp_ipblocklist__load(struct xdp_ipblocklist *obj)
{
	return bpf_object__load_skeleton(obj->skeleton);
}

static inline struct xdp_ipblocklist *
xdp_ipblocklist__open_and_load(void)
{
	struct xdp_ipblocklist *obj;
	int err;

	obj = xdp_ipblocklist__open();
	if (!obj)
		return NULL;
	err = xdp_ipblocklist__load(obj);
	if (err) {
		xdp_ipblocklist__destroy(obj);
		errno = -err;
		return NULL;
	}
	return obj;
}

static inline int
xdp_ipblocklist__attach(struct xdp_ipblocklist *obj)
{
	return bpf_object__attach_skeleton(obj->skeleton);
}

static inline void
xdp_ipblocklist__detach(struct xdp_ipblocklist *obj)
{
	bpf_object__detach_skeleton(obj->skeleton);
}

static inline const void *xdp_ipblocklist__elf_bytes(size_t *sz);

static inline int
xdp_ipblocklist__create_skeleton(struct xdp_ipblocklist *obj)
{
	struct bpf_object_skeleton *s;
	struct bpf_map_skeleton *map __attribute__((unused));
	int err;

	s = (struct bpf_object_skeleton *)calloc(1, sizeof(*s));
	if (!s)	{
		err = -ENOMEM;
		goto err;
	}

	s->sz = sizeof(*s);
	s->name = "xdp_ipblocklist";
	s->obj = &obj->obj;

	/* maps */
	s->map_cnt = 1;
	s->map_skel_sz = 24;
	s->maps = (struct bpf_map_skeleton *)calloc(s->map_cnt,
			sizeof(*s->maps) > 24 ? sizeof(*s->maps) : 24);
	if (!s->maps) {
		err = -ENOMEM;
		goto err;
	}

	map = (struct bpf_map_skeleton *)((char *)s->maps + 0 * s->map_skel_sz);
	map->name = "ipblocklist_map";
	map->map = &obj->maps.ipblocklist_map;

	/* programs */
	s->prog_cnt = 1;
	s->prog_skel_sz = sizeof(*s->progs);
	s->progs = (struct bpf_prog_skeleton *)calloc(s->prog_cnt, s->prog_skel_sz);
	if (!s->progs) {
		err = -ENOMEM;
		goto err;
	}

	s->progs[0].name = "xdp_ipblocklist";
	s->progs[0].prog = &obj->progs.xdp_ipblocklist;
	s->progs[0].link = &obj->links.xdp_ipblocklist;

	s->data = xdp_ipblocklist__elf_bytes(&s->data_sz);

	obj->skeleton = s;
	return 0;
err:
	bpf_object__destroy_skeleton(s);
	return err;
}

static inline const void *xdp_ipblocklist__elf_bytes(size_t *sz)
{
	static const char data[] __attribute__((__aligned__(8))) = "\
\x7f\x45\x4c\x46\x02\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\xf7\0\x01\0\0\0\0\0\0\0\0\
\0\0\0\0\0\0\0\0\0\0\0\x98\x1a\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\x40\0\x1b\0\
\x01\0\xb4\0\0\0\x02\0\0\0\x61\x12\x04\0\0\0\0\0\x61\x16\0\0\0\0\0\0\xbf\x61\0\
\0\0\0\0\0\x07\x01\0\0\x0e\0\0\0\x2d\x21\x1d\0\0\0\0\0\x71\x61\x0d\0\0\0\0\0\
\x64\x01\0\0\x08\0\0\0\x71\x63\x0c\0\0\0\0\0\x4c\x31\0\0\0\0\0\0\x56\x01\x18\0\
\x08\0\0\0\xbf\x61\0\0\0\0\0\0\x07\x01\0\0\x22\0\0\0\x2d\x21\x15\0\0\0\0\0\xbf\
\x62\0\0\0\0\0\0\x07\x02\0\0\x1a\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\
\0\0\0\x01\0\0\0\xbf\x01\0\0\0\0\0\0\x15\x01\x03\0\0\0\0\0\xb4\0\0\0\x01\0\0\0\
\x71\x11\0\0\0\0\0\0\x16\x01\x0b\0\x01\0\0\0\x07\x06\0\0\x1e\0\0\0\x18\x01\0\0\
\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x01\0\0\0\
\0\0\0\x15\x01\x03\0\0\0\0\0\xb4\0\0\0\x01\0\0\0\x71\x11\0\0\0\0\0\0\x16\x01\
\x01\0\x01\0\0\0\xb4\0\0\0\x02\0\0\0\x95\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x47\x50\x4c\0\x52\0\0\
\0\x05\0\x08\0\x06\0\0\0\x18\0\0\0\x1e\0\0\0\x24\0\0\0\x2b\0\0\0\x32\0\0\0\x3b\
\0\0\0\x04\0\x20\x01\x51\0\x04\x10\x78\x01\x52\0\x04\x18\xc8\x01\x01\x56\0\x04\
\x18\xc8\x01\x01\x56\0\x04\x50\xc8\x01\x03\x76\x0e\x9f\0\x04\xa0\x01\xb8\x01\
\x01\x51\x04\xf0\x01\x88\x02\x01\x51\0\x01\x11\x01\x25\x25\x13\x05\x03\x25\x72\
\x17\x10\x17\x1b\x25\x11\x1b\x12\x06\x73\x17\x8c\x01\x17\0\0\x02\x34\0\x03\x25\
\x49\x13\x3a\x0b\x3b\x0b\0\0\x03\x26\0\x49\x13\0\0\x04\x0f\0\x49\x13\0\0\x05\
\x15\x01\x49\x13\x27\x19\0\0\x06\x05\0\x49\x13\0\0\x07\x0f\0\0\0\x08\x26\0\0\0\
\x09\x34\0\x03\x25\x49\x13\x3f\x19\x3a\x0b\x3b\x0b\x02\x18\0\0\x0a\x01\x01\x49\
\x13\0\0\x0b\x21\0\x49\x13\x37\x0b\0\0\x0c\x24\0\x03\x25\x3e\x0b\x0b\x0b\0\0\
\x0d\x24\0\x03\x25\x0b\x0b\x3e\x0b\0\0\x0e\x13\x01\x0b\x0b\x3a\x0b\x3b\x0b\0\0\
\x0f\x0d\0\x03\x25\x49\x13\x3a\x0b\x3b\x0b\x38\x0b\0\0\x10\x21\0\x49\x13\x37\
\x06\0\0\x11\x16\0\x49\x13\x03\x25\x3a\x0b\x3b\x0b\0\0\x12\x04\x01\x49\x13\x03\
\x25\x0b\x0b\x3a\x0b\x3b\x05\0\0\x13\x28\0\x03\x25\x1c\x0f\0\0\x14\x13\x01\x03\
\x25\x0b\x0b\x3a\x0b\x3b\x0b\0\0\x15\x0d\0\x03\x25\x49\x13\x3a\x0b\x3b\x0b\x0d\
\x0b\x6b\x0b\0\0\x16\x0d\0\x49\x13\x3a\x0b\x3b\x0b\x38\x0b\0\0\x17\x17\x01\x0b\
\x0b\x3a\x0b\x3b\x0b\0\0\x18\x2e\x01\x11\x1b\x12\x06\x40\x18\x7a\x19\x03\x25\
\x3a\x0b\x3b\x0b\x27\x19\x49\x13\x3f\x19\0\0\x19\x05\0\x02\x22\x03\x25\x3a\x0b\
\x3b\x0b\x49\x13\0\0\x1a\x34\0\x02\x22\x03\x25\x3a\x0b\x3b\x0b\x49\x13\0\0\x1b\
\x13\x01\x03\x25\x0b\x0b\x3a\x0b\x3b\x05\0\0\x1c\x0d\0\x03\x25\x49\x13\x3a\x0b\
\x3b\x05\x38\x0b\0\0\0\xa0\x02\0\0\x05\0\x01\x08\0\0\0\0\x01\0\x1d\0\x01\x08\0\
\0\0\0\0\0\0\x02\x02\x20\x01\0\0\x08\0\0\0\x0c\0\0\0\x02\x03\x2f\0\0\0\x01\x40\
\x03\x34\0\0\0\x04\x39\0\0\0\x05\x49\0\0\0\x06\x49\0\0\0\x06\x4a\0\0\0\0\x07\
\x04\x4f\0\0\0\x08\x09\x04\x5b\0\0\0\0\x4b\x02\xa1\0\x0a\x67\0\0\0\x0b\x6b\0\0\
\0\x04\0\x0c\x05\x06\x01\x0d\x06\x08\x07\x09\x07\x7a\0\0\0\0\x24\x02\xa1\x01\
\x0e\x28\0\x1e\x0f\x08\xac\0\0\0\0\x1f\0\x0f\x0a\xc1\0\0\0\0\x20\x08\x0f\x0b\
\xac\0\0\0\0\x21\x10\x0f\x0c\xd5\0\0\0\0\x22\x18\x0f\x0f\xe6\0\0\0\0\x23\x20\0\
\x04\xb1\0\0\0\x0a\xbd\0\0\0\x0b\x6b\0\0\0\x01\0\x0c\x09\x05\x04\x04\xc6\0\0\0\
\x0a\xbd\0\0\0\x10\x6b\0\0\0\x40\x42\x0f\0\0\x04\xda\0\0\0\x11\xe2\0\0\0\x0e\
\x02\x1b\x0c\x0d\x07\x04\x04\xeb\0\0\0\x11\xf3\0\0\0\x11\x02\x15\x0c\x10\x08\
\x01\x12\xe2\0\0\0\x17\x04\x03\x2d\x17\x13\x12\0\x13\x13\x01\x13\x14\x02\x13\
\x15\x03\x13\x16\x04\0\x0c\x18\x05\x08\x11\x1d\x01\0\0\x1b\x04\x20\x11\x25\x01\
\0\0\x1a\x02\x18\x0c\x19\x07\x02\x04\x2e\x01\0\0\x14\x2a\x14\x05\x57\x15\x1c\
\xeb\0\0\0\x05\x59\x04\0\x15\x1d\xeb\0\0\0\x05\x5a\x04\x04\x0f\x1e\xeb\0\0\0\
\x05\x61\x01\x0f\x1f\x15\x01\0\0\x05\x62\x02\x0f\x20\x15\x01\0\0\x05\x63\x04\
\x0f\x21\x15\x01\0\0\x05\x64\x06\x0f\x22\xeb\0\0\0\x05\x65\x08\x0f\x23\xeb\0\0\
\0\x05\x66\x09\x0f\x24\xd3\x01\0\0\x05\x67\x0a\x16\x8e\x01\0\0\x05\x68\x0c\x17\
\x08\x05\x68\x16\x9a\x01\0\0\x05\x68\0\x0e\x08\x05\x68\x0f\x26\xdb\x01\0\0\x05\
\x68\0\x0f\x28\xdb\x01\0\0\x05\x68\x04\0\x0f\x29\xba\x01\0\0\x05\x68\0\x0e\x08\
\x05\x68\x0f\x26\xdb\x01\0\0\x05\x68\0\x0f\x28\xdb\x01\0\0\x05\x68\x04\0\0\0\
\x11\x1d\x01\0\0\x25\x04\x26\x11\xda\0\0\0\x27\x04\x22\x18\x02\x20\x01\0\0\x01\
\x5a\x2b\0\x27\xbd\0\0\0\x19\0\x2c\0\x27\x29\x02\0\0\x1a\x01\x2e\0\x28\x49\0\0\
\0\x1a\x02\x2d\0\x29\x49\0\0\0\x1a\x03\x34\0\x2a\x71\x02\0\0\x1a\x04\x39\0\x2b\
\x29\x01\0\0\x1a\x05\x3a\0\x3b\xe6\0\0\0\0\x04\x2e\x02\0\0\x1b\x33\x18\x03\x38\
\x17\x1c\x2d\xda\0\0\0\x03\x39\x17\0\x1c\x2e\xda\0\0\0\x03\x3a\x17\x04\x1c\x2f\
\xda\0\0\0\x03\x3b\x17\x08\x1c\x30\xda\0\0\0\x03\x3d\x17\x0c\x1c\x31\xda\0\0\0\
\x03\x3e\x17\x10\x1c\x32\xda\0\0\0\x03\x40\x17\x14\0\x04\x76\x02\0\0\x14\x38\
\x0e\x06\xad\x0f\x35\x97\x02\0\0\x06\xae\0\x0f\x36\x97\x02\0\0\x06\xaf\x06\x0f\
\x37\x15\x01\0\0\x06\xb0\x0c\0\x0a\xf3\0\0\0\x0b\x6b\0\0\0\x06\0\0\xf0\0\0\0\
\x05\0\0\0\0\0\0\0\x15\0\0\0\x2b\0\0\0\x55\0\0\0\x69\0\0\0\x72\0\0\0\x77\0\0\0\
\x8b\0\0\0\x9b\0\0\0\xa0\0\0\0\xa4\0\0\0\xb0\0\0\0\xb8\0\0\0\xbc\0\0\0\xc9\0\0\
\0\xcf\0\0\0\xd5\0\0\0\xe3\0\0\0\xe8\0\0\0\xf4\0\0\0\xfd\0\0\0\x06\x01\0\0\x0d\
\x01\0\0\x1a\x01\0\0\x25\x01\0\0\x2a\x01\0\0\x39\x01\0\0\x3f\x01\0\0\x46\x01\0\
\0\x4a\x01\0\0\x52\x01\0\0\x56\x01\0\0\x5e\x01\0\0\x61\x01\0\0\x6a\x01\0\0\x6e\
\x01\0\0\x77\x01\0\0\x7d\x01\0\0\x85\x01\0\0\x8b\x01\0\0\x92\x01\0\0\x98\x01\0\
\0\x9e\x01\0\0\xa4\x01\0\0\xb4\x01\0\0\xb8\x01\0\0\xbd\x01\0\0\xc6\x01\0\0\xd0\
\x01\0\0\xe0\x01\0\0\xef\x01\0\0\xfe\x01\0\0\x05\x02\0\0\x09\x02\0\0\x10\x02\0\
\0\x19\x02\0\0\x21\x02\0\0\x28\x02\0\0\x2c\x02\0\0\x63\x6c\x61\x6e\x67\x20\x76\
\x65\x72\x73\x69\x6f\x6e\x20\x32\x31\x2e\x31\x2e\x35\0\x78\x64\x70\x5f\x69\x70\
\x62\x6c\x6f\x63\x6b\x6c\x69\x73\x74\x2e\x62\x70\x66\x2e\x63\0\x2f\x68\x6f\x6d\
\x65\x2f\x6c\x6f\x6f\x6e\x67\x61\x72\x63\x68\x2f\x78\x64\x70\x2d\x74\x6f\x6f\
\x6c\x73\x2f\x78\x64\x70\x2d\x69\x70\x62\x6c\x6f\x63\x6b\x6c\x69\x73\x74\0\x62\
\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\0\x5f\
\x6c\x69\x63\x65\x6e\x73\x65\0\x63\x68\x61\x72\0\x5f\x5f\x41\x52\x52\x41\x59\
\x5f\x53\x49\x5a\x45\x5f\x54\x59\x50\x45\x5f\x5f\0\x69\x70\x62\x6c\x6f\x63\x6b\
\x6c\x69\x73\x74\x5f\x6d\x61\x70\0\x74\x79\x70\x65\0\x69\x6e\x74\0\x6d\x61\x78\
\x5f\x65\x6e\x74\x72\x69\x65\x73\0\x70\x69\x6e\x6e\x69\x6e\x67\0\x6b\x65\x79\0\
\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x69\x6e\x74\0\x5f\x5f\x75\x33\x32\0\x76\
\x61\x6c\x75\x65\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x63\x68\x61\x72\0\x5f\
\x5f\x75\x38\0\x58\x44\x50\x5f\x41\x42\x4f\x52\x54\x45\x44\0\x58\x44\x50\x5f\
\x44\x52\x4f\x50\0\x58\x44\x50\x5f\x50\x41\x53\x53\0\x58\x44\x50\x5f\x54\x58\0\
\x58\x44\x50\x5f\x52\x45\x44\x49\x52\x45\x43\x54\0\x78\x64\x70\x5f\x61\x63\x74\
\x69\x6f\x6e\0\x6c\x6f\x6e\x67\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x73\x68\
\x6f\x72\x74\0\x5f\x5f\x75\x31\x36\0\x5f\x5f\x62\x65\x31\x36\0\x69\x68\x6c\0\
\x76\x65\x72\x73\x69\x6f\x6e\0\x74\x6f\x73\0\x74\x6f\x74\x5f\x6c\x65\x6e\0\x69\
\x64\0\x66\x72\x61\x67\x5f\x6f\x66\x66\0\x74\x74\x6c\0\x70\x72\x6f\x74\x6f\x63\
\x6f\x6c\0\x63\x68\x65\x63\x6b\0\x5f\x5f\x73\x75\x6d\x31\x36\0\x73\x61\x64\x64\
\x72\0\x5f\x5f\x62\x65\x33\x32\0\x64\x61\x64\x64\x72\0\x61\x64\x64\x72\x73\0\
\x69\x70\x68\x64\x72\0\x78\x64\x70\x5f\x69\x70\x62\x6c\x6f\x63\x6b\x6c\x69\x73\
\x74\0\x63\x74\x78\0\x64\x61\x74\x61\0\x64\x61\x74\x61\x5f\x65\x6e\x64\0\x64\
\x61\x74\x61\x5f\x6d\x65\x74\x61\0\x69\x6e\x67\x72\x65\x73\x73\x5f\x69\x66\x69\
\x6e\x64\x65\x78\0\x72\x78\x5f\x71\x75\x65\x75\x65\x5f\x69\x6e\x64\x65\x78\0\
\x65\x67\x72\x65\x73\x73\x5f\x69\x66\x69\x6e\x64\x65\x78\0\x78\x64\x70\x5f\x6d\
\x64\0\x65\x74\x68\0\x68\x5f\x64\x65\x73\x74\0\x68\x5f\x73\x6f\x75\x72\x63\x65\
\0\x68\x5f\x70\x72\x6f\x74\x6f\0\x65\x74\x68\x68\x64\x72\0\x69\x70\x68\0\x61\
\x63\x74\x69\x6f\x6e\0\x1c\0\0\0\x05\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\0\0\0\0\0\x9f\xeb\x01\0\x18\0\0\0\0\0\0\0\xf8\x01\0\0\xf8\x01\0\0\
\xbf\x02\0\0\0\0\0\0\0\0\0\x02\x03\0\0\0\x01\0\0\0\0\0\0\x01\x04\0\0\0\x20\0\0\
\x01\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x01\0\0\0\x05\0\0\0\0\0\0\
\x01\x04\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x02\x06\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\
\x02\0\0\0\x04\0\0\0\x40\x42\x0f\0\0\0\0\0\0\0\0\x02\x08\0\0\0\x19\0\0\0\0\0\0\
\x08\x09\0\0\0\x1f\0\0\0\0\0\0\x01\x04\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x02\x0b\0\
\0\0\x2c\0\0\0\0\0\0\x08\x0c\0\0\0\x31\0\0\0\0\0\0\x01\x01\0\0\0\x08\0\0\0\0\0\
\0\0\x05\0\0\x04\x28\0\0\0\x3f\0\0\0\x01\0\0\0\0\0\0\0\x44\0\0\0\x05\0\0\0\x40\
\0\0\0\x50\0\0\0\x01\0\0\0\x80\0\0\0\x58\0\0\0\x07\0\0\0\xc0\0\0\0\x5c\0\0\0\
\x0a\0\0\0\0\x01\0\0\x62\0\0\0\0\0\0\x0e\x0d\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\
\x10\0\0\0\x72\0\0\0\x06\0\0\x04\x18\0\0\0\x79\0\0\0\x08\0\0\0\0\0\0\0\x7e\0\0\
\0\x08\0\0\0\x20\0\0\0\x87\0\0\0\x08\0\0\0\x40\0\0\0\x91\0\0\0\x08\0\0\0\x60\0\
\0\0\xa1\0\0\0\x08\0\0\0\x80\0\0\0\xb0\0\0\0\x08\0\0\0\xa0\0\0\0\0\0\0\0\x01\0\
\0\x0d\x02\0\0\0\xbf\0\0\0\x0f\0\0\0\xc3\0\0\0\x01\0\0\x0c\x11\0\0\0\xa3\x02\0\
\0\0\0\0\x01\x01\0\0\0\x08\0\0\x01\0\0\0\0\0\0\0\x03\0\0\0\0\x13\0\0\0\x04\0\0\
\0\x04\0\0\0\xa8\x02\0\0\0\0\0\x0e\x14\0\0\0\x01\0\0\0\xb1\x02\0\0\x01\0\0\x0f\
\0\0\0\0\x0e\0\0\0\0\0\0\0\x28\0\0\0\xb7\x02\0\0\x01\0\0\x0f\0\0\0\0\x15\0\0\0\
\0\0\0\0\x04\0\0\0\0\x69\x6e\x74\0\x5f\x5f\x41\x52\x52\x41\x59\x5f\x53\x49\x5a\
\x45\x5f\x54\x59\x50\x45\x5f\x5f\0\x5f\x5f\x75\x33\x32\0\x75\x6e\x73\x69\x67\
\x6e\x65\x64\x20\x69\x6e\x74\0\x5f\x5f\x75\x38\0\x75\x6e\x73\x69\x67\x6e\x65\
\x64\x20\x63\x68\x61\x72\0\x74\x79\x70\x65\0\x6d\x61\x78\x5f\x65\x6e\x74\x72\
\x69\x65\x73\0\x70\x69\x6e\x6e\x69\x6e\x67\0\x6b\x65\x79\0\x76\x61\x6c\x75\x65\
\0\x69\x70\x62\x6c\x6f\x63\x6b\x6c\x69\x73\x74\x5f\x6d\x61\x70\0\x78\x64\x70\
\x5f\x6d\x64\0\x64\x61\x74\x61\0\x64\x61\x74\x61\x5f\x65\x6e\x64\0\x64\x61\x74\
\x61\x5f\x6d\x65\x74\x61\0\x69\x6e\x67\x72\x65\x73\x73\x5f\x69\x66\x69\x6e\x64\
\x65\x78\0\x72\x78\x5f\x71\x75\x65\x75\x65\x5f\x69\x6e\x64\x65\x78\0\x65\x67\
\x72\x65\x73\x73\x5f\x69\x66\x69\x6e\x64\x65\x78\0\x63\x74\x78\0\x78\x64\x70\
\x5f\x69\x70\x62\x6c\x6f\x63\x6b\x6c\x69\x73\x74\0\x78\x64\x70\0\x2f\x68\x6f\
\x6d\x65\x2f\x6c\x6f\x6f\x6e\x67\x61\x72\x63\x68\x2f\x78\x64\x70\x2d\x74\x6f\
\x6f\x6c\x73\x2f\x78\x64\x70\x2d\x69\x70\x62\x6c\x6f\x63\x6b\x6c\x69\x73\x74\
\x2f\x78\x64\x70\x5f\x69\x70\x62\x6c\x6f\x63\x6b\x6c\x69\x73\x74\x2e\x62\x70\
\x66\x2e\x63\0\x69\x6e\x74\x20\x78\x64\x70\x5f\x69\x70\x62\x6c\x6f\x63\x6b\x6c\
\x69\x73\x74\x28\x73\x74\x72\x75\x63\x74\x20\x78\x64\x70\x5f\x6d\x64\x20\x2a\
\x63\x74\x78\x29\x20\x7b\0\x20\x20\x20\x20\x76\x6f\x69\x64\x20\x2a\x64\x61\x74\
\x61\x5f\x65\x6e\x64\x20\x3d\x20\x28\x76\x6f\x69\x64\x20\x2a\x29\x28\x6c\x6f\
\x6e\x67\x29\x63\x74\x78\x2d\x3e\x64\x61\x74\x61\x5f\x65\x6e\x64\x3b\0\x20\x20\
\x20\x20\x76\x6f\x69\x64\x20\x2a\x64\x61\x74\x61\x20\x3d\x20\x28\x76\x6f\x69\
\x64\x20\x2a\x29\x28\x6c\x6f\x6e\x67\x29\x63\x74\x78\x2d\x3e\x64\x61\x74\x61\
\x3b\0\x20\x20\x20\x20\x69\x66\x20\x28\x28\x76\x6f\x69\x64\x20\x2a\x29\x28\x65\
\x74\x68\x20\x2b\x20\x31\x29\x20\x3e\x20\x64\x61\x74\x61\x5f\x65\x6e\x64\x29\0\
\x20\x20\x20\x20\x69\x66\x20\x28\x65\x74\x68\x2d\x3e\x68\x5f\x70\x72\x6f\x74\
\x6f\x20\x21\x3d\x20\x5f\x5f\x63\x6f\x6e\x73\x74\x61\x6e\x74\x5f\x68\x74\x6f\
\x6e\x73\x28\x45\x54\x48\x5f\x50\x5f\x49\x50\x29\x29\0\x20\x20\x20\x20\x5f\x5f\
\x75\x38\x20\x2a\x61\x63\x74\x69\x6f\x6e\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\
\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x69\x70\x62\x6c\
\x6f\x63\x6b\x6c\x69\x73\x74\x5f\x6d\x61\x70\x2c\x20\x26\x69\x70\x68\x2d\x3e\
\x73\x61\x64\x64\x72\x29\x3b\0\x20\x20\x20\x20\x69\x66\x20\x28\x61\x63\x74\x69\
\x6f\x6e\x20\x26\x26\x20\x2a\x61\x63\x74\x69\x6f\x6e\x20\x3d\x3d\x20\x31\x29\
\x20\x7b\0\x20\x20\x20\x20\x61\x63\x74\x69\x6f\x6e\x20\x3d\x20\x62\x70\x66\x5f\
\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x69\x70\
\x62\x6c\x6f\x63\x6b\x6c\x69\x73\x74\x5f\x6d\x61\x70\x2c\x20\x26\x69\x70\x68\
\x2d\x3e\x64\x61\x64\x64\x72\x29\x3b\0\x7d\0\x63\x68\x61\x72\0\x5f\x6c\x69\x63\
\x65\x6e\x73\x65\0\x2e\x6d\x61\x70\x73\0\x6c\x69\x63\x65\x6e\x73\x65\0\0\x9f\
\xeb\x01\0\x20\0\0\0\0\0\0\0\x14\0\0\0\x14\0\0\0\x2c\x01\0\0\x40\x01\0\0\0\0\0\
\0\x08\0\0\0\xd3\0\0\0\x01\0\0\0\0\0\0\0\x12\0\0\0\x10\0\0\0\xd3\0\0\0\x12\0\0\
\0\0\0\0\0\xd7\0\0\0\x17\x01\0\0\0\x9c\0\0\x08\0\0\0\xd7\0\0\0\x41\x01\0\0\x29\
\xa0\0\0\x10\0\0\0\xd7\0\0\0\x73\x01\0\0\x25\xa4\0\0\x18\0\0\0\xd7\0\0\0\x9d\
\x01\0\0\x16\xb8\0\0\x28\0\0\0\xd7\0\0\0\x9d\x01\0\0\x1b\xb8\0\0\x30\0\0\0\xd7\
\0\0\0\xc3\x01\0\0\x0e\xc8\0\0\x50\0\0\0\xd7\0\0\0\xc3\x01\0\0\x16\xc8\0\0\x70\
\0\0\0\xd7\0\0\0\xf7\x01\0\0\x40\xec\0\0\x80\0\0\0\xd7\0\0\0\xf7\x01\0\0\x14\
\xec\0\0\xa0\0\0\0\xd7\0\0\0\x3e\x02\0\0\x10\xf0\0\0\xb0\0\0\0\xd7\0\0\0\x3e\
\x02\0\0\x13\xf0\0\0\xb8\0\0\0\xd7\0\0\0\x3e\x02\0\0\x10\xf0\0\0\xc0\0\0\0\xd7\
\0\0\0\x60\x02\0\0\x3a\x08\x01\0\xc8\0\0\0\xd7\0\0\0\x60\x02\0\0\x0e\x08\x01\0\
\xf0\0\0\0\xd7\0\0\0\x3e\x02\0\0\x10\x0c\x01\0\0\x01\0\0\xd7\0\0\0\x3e\x02\0\0\
\x13\x0c\x01\0\x08\x01\0\0\xd7\0\0\0\x3e\x02\0\0\x10\x0c\x01\0\x18\x01\0\0\xd7\
\0\0\0\xa1\x02\0\0\x01\x24\x01\0\x0c\0\0\0\xff\xff\xff\xff\x04\0\x08\0\x08\x7c\
\x0b\0\x14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x20\x01\0\0\0\0\0\0\x3d\x01\0\0\x05\0\
\x08\0\xc5\0\0\0\x08\x01\x01\xfb\x0e\x0d\0\x01\x01\x01\x01\0\0\0\x01\0\0\x01\
\x01\x01\x1f\x05\0\0\0\0\x2a\0\0\0\x3b\0\0\0\x54\0\0\0\x6c\0\0\0\x03\x01\x1f\
\x02\x0f\x05\x1e\x07\x7f\0\0\0\0\xbd\xd7\xd2\xae\xbb\xdb\x64\xd9\x99\x79\xe7\
\x52\x86\xfa\x53\x73\x95\0\0\0\x01\xa5\xa8\xa4\xf9\x34\xaa\x57\x11\xde\xc2\x3f\
\xec\x64\x5c\x40\x01\xa7\0\0\0\x02\xb8\x10\xf2\x70\x73\x3e\x10\x63\x19\xb6\x7e\
\xf5\x12\xc6\x24\x6e\xb2\0\0\0\x03\x19\xe7\xa2\x78\xdd\x5e\x69\xad\xb0\x87\xc4\
\x19\x97\x7e\x86\xe0\xb8\0\0\0\x04\xbf\x9f\xbc\x0e\x8f\x60\x92\x7f\xef\x9d\x89\
\x17\x53\x53\x75\xa6\xc0\0\0\0\x04\x14\x97\x78\xac\xe3\x0a\x1f\xf2\x08\xad\xc8\
\x78\x3f\xd0\x4b\x29\xc5\0\0\0\x04\x16\x3f\x54\xfb\x1a\xf2\xe2\x1f\xea\x41\x0f\
\x14\xeb\x18\xfa\x76\x04\0\0\x09\x02\0\0\0\0\0\0\0\0\x03\x26\x01\x05\x29\x0a\
\x21\x05\x25\x21\x05\x16\x25\x05\x1b\x06\x2e\x05\x0e\x06\x24\x05\x16\x06\x4a\
\x03\x4e\x20\x03\x32\x2e\x05\x40\x06\x03\x09\x20\x05\x14\x06\x2e\x05\x10\x06\
\x4b\x06\x03\x44\x20\x05\x13\x03\x3c\x20\x05\x10\x20\x05\x3a\x06\x26\x05\x0e\
\x06\x20\x05\x10\x06\x59\x06\x03\xbd\x7f\x20\x05\x13\x03\xc3\0\x20\x05\x10\x20\
\x03\xbd\x7f\x20\x05\x01\x06\x03\xc9\0\x20\x02\x01\0\x01\x01\x2f\x68\x6f\x6d\
\x65\x2f\x6c\x6f\x6f\x6e\x67\x61\x72\x63\x68\x2f\x78\x64\x70\x2d\x74\x6f\x6f\
\x6c\x73\x2f\x78\x64\x70\x2d\x69\x70\x62\x6c\x6f\x63\x6b\x6c\x69\x73\x74\0\x2f\
\x75\x73\x72\x2f\x69\x6e\x63\x6c\x75\x64\x65\x2f\x62\x70\x66\0\x2f\x75\x73\x72\
\x2f\x69\x6e\x63\x6c\x75\x64\x65\x2f\x61\x73\x6d\x2d\x67\x65\x6e\x65\x72\x69\
\x63\0\x2e\x2e\x2f\x6c\x69\x62\x2f\x2e\x2e\x2f\x68\x65\x61\x64\x65\x72\x73\x2f\
\x6c\x69\x6e\x75\x78\0\x2f\x75\x73\x72\x2f\x69\x6e\x63\x6c\x75\x64\x65\x2f\x6c\
\x69\x6e\x75\x78\0\x78\x64\x70\x5f\x69\x70\x62\x6c\x6f\x63\x6b\x6c\x69\x73\x74\
\x2e\x62\x70\x66\x2e\x63\0\x62\x70\x66\x5f\x68\x65\x6c\x70\x65\x72\x5f\x64\x65\
\x66\x73\x2e\x68\0\x69\x6e\x74\x2d\x6c\x6c\x36\x34\x2e\x68\0\x62\x70\x66\x2e\
\x68\0\x74\x79\x70\x65\x73\x2e\x68\0\x69\x70\x2e\x68\0\x69\x66\x5f\x65\x74\x68\
\x65\x72\x2e\x68\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
\0\xea\0\0\0\x04\0\xf1\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x03\0\
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\0\0\x03\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x0b\0\
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x0d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\0\0\x03\0\x0e\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x14\0\
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x16\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\0\0\x03\0\x18\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x22\0\0\0\x12\0\x03\
\0\0\0\0\0\0\0\0\0\x20\x01\0\0\0\0\0\0\x92\0\0\0\x11\0\x05\0\0\0\0\0\0\0\0\0\
\x28\0\0\0\0\0\0\0\xc0\0\0\0\x11\0\x06\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\x80\
\0\0\0\0\0\0\0\x01\0\0\0\x0c\0\0\0\xc8\0\0\0\0\0\0\0\x01\0\0\0\x0c\0\0\0\x08\0\
\0\0\0\0\0\0\x03\0\0\0\x04\0\0\0\x11\0\0\0\0\0\0\0\x03\0\0\0\x05\0\0\0\x15\0\0\
\0\0\0\0\0\x03\0\0\0\x09\0\0\0\x1f\0\0\0\0\0\0\0\x03\0\0\0\x07\0\0\0\x23\0\0\0\
\0\0\0\0\x03\0\0\0\x03\0\0\0\x08\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x0c\0\0\0\0\
\0\0\0\x03\0\0\0\x06\0\0\0\x10\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x14\0\0\0\0\0\
\0\0\x03\0\0\0\x06\0\0\0\x18\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x1c\0\0\0\0\0\0\
\0\x03\0\0\0\x06\0\0\0\x20\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x24\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x28\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x2c\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x30\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x34\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x38\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x3c\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x40\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x44\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x48\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x4c\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x50\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x54\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x58\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x5c\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x60\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x64\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x68\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x6c\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x70\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x74\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x78\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x7c\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x80\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x84\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x88\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x8c\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x90\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x94\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\x98\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x9c\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\xa0\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\xa4\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\xa8\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\xac\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\xb0\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\xb4\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\xb8\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\xbc\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\xc0\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\xc4\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\xc8\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\xcc\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\xd0\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\xd4\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\xd8\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\xdc\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\xe0\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\xe4\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\xe8\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\xec\0\0\0\0\0\0\0\
\x03\0\0\0\x06\0\0\0\xf0\0\0\0\0\0\0\0\x03\0\0\0\x06\0\0\0\x08\0\0\0\0\0\0\0\
\x02\0\0\0\x0d\0\0\0\x10\0\0\0\0\0\0\0\x02\0\0\0\x0c\0\0\0\x18\0\0\0\0\0\0\0\
\x02\0\0\0\x02\0\0\0\xf0\x01\0\0\0\0\0\0\x04\0\0\0\x0c\0\0\0\x08\x02\0\0\0\0\0\
\0\x04\0\0\0\x0d\0\0\0\x2c\0\0\0\0\0\0\0\x04\0\0\0\x02\0\0\0\x40\0\0\0\0\0\0\0\
\x04\0\0\0\x02\0\0\0\x50\0\0\0\0\0\0\0\x04\0\0\0\x02\0\0\0\x60\0\0\0\0\0\0\0\
\x04\0\0\0\x02\0\0\0\x70\0\0\0\0\0\0\0\x04\0\0\0\x02\0\0\0\x80\0\0\0\0\0\0\0\
\x04\0\0\0\x02\0\0\0\x90\0\0\0\0\0\0\0\x04\0\0\0\x02\0\0\0\xa0\0\0\0\0\0\0\0\
\x04\0\0\0\x02\0\0\0\xb0\0\0\0\0\0\0\0\x04\0\0\0\x02\0\0\0\xc0\0\0\0\0\0\0\0\
\x04\0\0\0\x02\0\0\0\xd0\0\0\0\0\0\0\0\x04\0\0\0\x02\0\0\0\xe0\0\0\0\0\0\0\0\
\x04\0\0\0\x02\0\0\0\xf0\0\0\0\0\0\0\0\x04\0\0\0\x02\0\0\0\0\x01\0\0\0\0\0\0\
\x04\0\0\0\x02\0\0\0\x10\x01\0\0\0\0\0\0\x04\0\0\0\x02\0\0\0\x20\x01\0\0\0\0\0\
\0\x04\0\0\0\x02\0\0\0\x30\x01\0\0\0\0\0\0\x04\0\0\0\x02\0\0\0\x40\x01\0\0\0\0\
\0\0\x04\0\0\0\x02\0\0\0\x50\x01\0\0\0\0\0\0\x04\0\0\0\x02\0\0\0\x14\0\0\0\0\0\
\0\0\x03\0\0\0\x08\0\0\0\x18\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\x22\0\0\0\0\0\0\
\0\x03\0\0\0\x0a\0\0\0\x26\0\0\0\0\0\0\0\x03\0\0\0\x0a\0\0\0\x2a\0\0\0\0\0\0\0\
\x03\0\0\0\x0a\0\0\0\x2e\0\0\0\0\0\0\0\x03\0\0\0\x0a\0\0\0\x32\0\0\0\0\0\0\0\
\x03\0\0\0\x0a\0\0\0\x3e\0\0\0\0\0\0\0\x03\0\0\0\x0a\0\0\0\x53\0\0\0\0\0\0\0\
\x03\0\0\0\x0a\0\0\0\x68\0\0\0\0\0\0\0\x03\0\0\0\x0a\0\0\0\x7d\0\0\0\0\0\0\0\
\x03\0\0\0\x0a\0\0\0\x92\0\0\0\0\0\0\0\x03\0\0\0\x0a\0\0\0\xa7\0\0\0\0\0\0\0\
\x03\0\0\0\x0a\0\0\0\xbc\0\0\0\0\0\0\0\x03\0\0\0\x0a\0\0\0\xd6\0\0\0\0\0\0\0\
\x02\0\0\0\x02\0\0\0\x0b\x0c\x0d\0\x2e\x64\x65\x62\x75\x67\x5f\x61\x62\x62\x72\
\x65\x76\0\x2e\x74\x65\x78\x74\0\x2e\x72\x65\x6c\x2e\x42\x54\x46\x2e\x65\x78\
\x74\0\x78\x64\x70\x5f\x69\x70\x62\x6c\x6f\x63\x6b\x6c\x69\x73\x74\0\x2e\x64\
\x65\x62\x75\x67\x5f\x6c\x6f\x63\x6c\x69\x73\x74\x73\0\x2e\x72\x65\x6c\x2e\x64\
\x65\x62\x75\x67\x5f\x73\x74\x72\x5f\x6f\x66\x66\x73\x65\x74\x73\0\x2e\x6d\x61\
\x70\x73\0\x2e\x64\x65\x62\x75\x67\x5f\x73\x74\x72\0\x2e\x64\x65\x62\x75\x67\
\x5f\x6c\x69\x6e\x65\x5f\x73\x74\x72\0\x2e\x72\x65\x6c\x2e\x64\x65\x62\x75\x67\
\x5f\x61\x64\x64\x72\0\x2e\x72\x65\x6c\x78\x64\x70\0\x69\x70\x62\x6c\x6f\x63\
\x6b\x6c\x69\x73\x74\x5f\x6d\x61\x70\0\x2e\x72\x65\x6c\x2e\x64\x65\x62\x75\x67\
\x5f\x69\x6e\x66\x6f\0\x2e\x6c\x6c\x76\x6d\x5f\x61\x64\x64\x72\x73\x69\x67\0\
\x5f\x6c\x69\x63\x65\x6e\x73\x65\0\x2e\x72\x65\x6c\x2e\x64\x65\x62\x75\x67\x5f\
\x6c\x69\x6e\x65\0\x2e\x72\x65\x6c\x2e\x64\x65\x62\x75\x67\x5f\x66\x72\x61\x6d\
\x65\0\x78\x64\x70\x5f\x69\x70\x62\x6c\x6f\x63\x6b\x6c\x69\x73\x74\x2e\x62\x70\
\x66\x2e\x63\0\x2e\x73\x74\x72\x74\x61\x62\0\x2e\x73\x79\x6d\x74\x61\x62\0\x2e\
\x72\x65\x6c\x2e\x42\x54\x46\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\0\x01\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7b\x19\0\0\0\0\
\0\0\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x0f\
\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x8e\0\0\0\x01\0\0\0\
\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\0\0\x20\x01\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x8a\0\0\0\x09\0\0\0\x40\0\0\0\0\0\
\0\0\0\0\0\0\0\0\0\0\xe8\x12\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x1a\0\0\0\x03\0\0\0\
\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x59\0\0\0\x01\0\0\0\x03\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\0\x60\x01\0\0\0\0\0\0\x28\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\
\0\0\0\0\0\0\0\0\0\0\0\xc1\0\0\0\x01\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
\x88\x01\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\x32\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x8c\x01\0\0\0\0\
\0\0\x56\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\
\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe2\x01\0\0\0\0\0\0\x58\x01\0\0\
\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa6\0\0\0\x01\0\0\0\
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x3a\x03\0\0\0\0\0\0\xa4\x02\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa2\0\0\0\x09\0\0\0\x40\0\0\0\0\0\
\0\0\0\0\0\0\0\0\0\0\x08\x13\0\0\0\0\0\0\x50\0\0\0\0\0\0\0\x1a\0\0\0\x09\0\0\0\
\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x46\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\xde\x05\0\0\0\0\0\0\xf4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\
\0\0\0\0\0\0\0\0\0\0\x42\0\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x58\
\x13\0\0\0\0\0\0\xb0\x03\0\0\0\0\0\0\x1a\0\0\0\x0b\0\0\0\x08\0\0\0\0\0\0\0\x10\
\0\0\0\0\0\0\0\x5f\0\0\0\x01\0\0\0\x30\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd2\x06\0\
\0\0\0\0\0\x33\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\x01\0\0\0\0\0\
\0\0\x7e\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x09\0\0\0\0\0\0\
\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7a\0\0\0\
\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\x17\0\0\0\0\0\0\x30\0\0\0\0\0\
\0\0\x1a\0\0\0\x0e\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x14\x01\0\0\x01\0\
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x28\x09\0\0\0\0\0\0\xcf\x04\0\0\0\0\0\0\0\
\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x10\x01\0\0\x09\0\0\0\x40\0\0\
\0\0\0\0\0\0\0\0\0\0\0\0\0\x38\x17\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x1a\0\0\0\x10\
\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x19\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\0\0\0\xf8\x0d\0\0\0\0\0\0\x60\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x15\0\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\
\0\0\x58\x17\0\0\0\0\0\0\x30\x01\0\0\0\0\0\0\x1a\0\0\0\x12\0\0\0\x08\0\0\0\0\0\
\0\0\x10\0\0\0\0\0\0\0\xdd\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x58\
\x0f\0\0\0\0\0\0\x28\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\
\0\0\0\xd9\0\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x88\x18\0\0\0\0\0\
\0\x20\0\0\0\0\0\0\0\x1a\0\0\0\x14\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\
\xcd\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\x0f\0\0\0\0\0\0\x41\
\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc9\0\0\0\
\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa8\x18\0\0\0\0\0\0\xd0\0\0\0\0\0\
\0\0\x1a\0\0\0\x16\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x6a\0\0\0\x01\0\0\
\0\x30\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc1\x10\0\0\0\0\0\0\xd0\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\xb2\0\0\0\x03\x4c\xff\x6f\0\0\
\0\x80\0\0\0\0\0\0\0\0\0\0\0\0\x78\x19\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\x1a\0\0\0\
\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\x01\0\0\x02\0\0\0\0\0\0\0\0\0\0\
\0\0\0\0\0\0\0\0\0\x98\x11\0\0\0\0\0\0\x50\x01\0\0\0\0\0\0\x01\0\0\0\x0b\0\0\0\
\x08\0\0\0\0\0\0\0\x18\0\0\0\0\0\0\0";

	*sz = sizeof(data) - 1;
	return (const void *)data;
}

#ifdef __cplusplus
struct xdp_ipblocklist *xdp_ipblocklist::open(const struct bpf_object_open_opts *opts) { return xdp_ipblocklist__open_opts(opts); }
struct xdp_ipblocklist *xdp_ipblocklist::open_and_load() { return xdp_ipblocklist__open_and_load(); }
int xdp_ipblocklist::load(struct xdp_ipblocklist *skel) { return xdp_ipblocklist__load(skel); }
int xdp_ipblocklist::attach(struct xdp_ipblocklist *skel) { return xdp_ipblocklist__attach(skel); }
void xdp_ipblocklist::detach(struct xdp_ipblocklist *skel) { xdp_ipblocklist__detach(skel); }
void xdp_ipblocklist::destroy(struct xdp_ipblocklist *skel) { xdp_ipblocklist__destroy(skel); }
const void *xdp_ipblocklist::elf_bytes(size_t *sz) { return xdp_ipblocklist__elf_bytes(sz); }
#endif /* __cplusplus */

__attribute__((unused)) static void
xdp_ipblocklist__assert(struct xdp_ipblocklist *s __attribute__((unused)))
{
#ifdef __cplusplus
#define _Static_assert static_assert
#endif
#ifdef __cplusplus
#undef _Static_assert
#endif
}

#endif /* __XDP_IPBLOCKLIST_SKEL_H__ */
